Чтобы выяснить, является ли путь действительным каталогом try:
file.info(cacheDir)[1,"isdir"]
file.info
не заботится о косой черте в конце.
file.exists
в Windows не удастся для каталога, если он заканчивается косой чертой, и преуспевает без него. Поэтому это невозможно использовать для определения того, является ли путь каталогом.
file.exists("R:/data/CCAM/CCAMC160b_echam5_A2-ct-uf.-5t05N.190to240E_level1000/cache/")
[1] FALSE
file.exists("R:/data/CCAM/CCAMC160b_echam5_A2-ct-uf.-5t05N.190to240E_level1000/cache")
[1] TRUE
file.info(cacheDir)["isdir"]
ImageMagick может управлять о чем-либо и имеет интерфейсы для дюжины языков, включая Magick ++ API для C++.
@lurks: Я предполагаю, что Вы ищете смещение LSB? Я сделал некоторую работу stego несколько лет назад, и это - то, как казалось, что большинство приложений работало. Кажется, что ImageMagick (предложенный другими) позволяет Вам определять и управлять LSBs.
Мне нравится vxl
VXL (Vision-something-Libraries) является набором библиотек C++, разработанных для исследования машинного зрения и реализации. Это было создано из TargetJr и IUE с целью создания света, быстрой и последовательной системы. VXL записан в ANSI/ISO C++ и разработан, чтобы быть портативным по многим платформам.
FreeImage является довольно солидным. Это имеет интерфейс C, но является большим количеством C ++-like в его реализации.
Для изображений .png Вы могли изучить Каир (и CairoMM). Существует также Антимелкая частица, которую люди рассматривают очень быстро.