2015-12-15 6 views
1

До сих пор в предыдущих версиях API OpenCV JAVA предлагались методы get() и put(), чтобы получать и обрабатывать отдельные пиксели в изображении Mat. Но в API Java OpenCV 3.0.0-1.1 эти методы устарели. Итак, как можно обрабатывать отдельные пиксели в этой версии.Как управлять отдельными пикселями в изображении Mat в OpenCV 3.0.0-1.1 Java API

Вот список устаревших методов: http://bytedeco.org/javacpp-presets/opencv/apidocs/deprecated-list.html

Когда я использую метод put() в Hipi v2.0 (который поддерживает последнюю версию OpenCV API), я получаю следующее сообщение об ошибке:

Image showing the error

Что я могу сделать, чтобы изменить определенные пиксели (с учетом индексов)?

+1

пожалуйста , не путайте java-обложки opencv с bytedeco/javacv, 2 совершенно разных пары туфель. – berak

+0

Я новичок в HIPI и Opencv (или даже обработка изображений по этому поводу) .i не понимаю, что именно является bytedeco/javacv? Bytedeco/javacpp - это то, что hipi использует для доступа к opencv-методам в новой версии, то есть v2 .0 (он имеет встроенную поддержку opencv) – Swapnil

ответ

0

Рекомендуемый подход через Indexer, введенные в этом посте:
http://bytedeco.org/news/2014/12/23/third-release/

Так, например, в случае типичного БГР/RGB 8-битного изображения:

UByteIndexer idx = mat.createIndexer(); 
idx.put(x, y, z, 255); 
assert idx.get(x, y, z) == 255;