如何在 OpenCV 3.0.0-1.1 中操作 Mat 图像中的单个像素 Java API

How to manipulate individual pixels in Mat image in OpenCV 3.0.0-1.1 Java API

到目前为止,以前版本的 OpenCV JAVA API 提供了 get()put() 方法来获取和操作 Mat 图像中的单个像素。但在 OpenCV 3.0.0-1.1 Java API 中,这些方法已被弃用。那么在这个版本中如何操作单个像素。

以下是已弃用方法的列表: http://bytedeco.org/javacpp-presets/opencv/apidocs/deprecated-list.html

当我在 HIPI v2.0(支持最新的 OpenCV API)中使用 put() 方法时,出现以下错误:

Image showing the error

如何更改特定像素(给定索引)?

推荐的方法是通过 Indexer post 中介绍的方法:
http://bytedeco.org/news/2014/12/23/third-release/

因此,例如,对于典型的 BGR/RGB 8 位图像:

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