1

到目前为止,OpenCV JAVA API 的早期版本提供了获取get()put()操作 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)中使用该方法时,出现以下错误:

显示错误的图像

我能做些什么来改变特定的像素(给定索引)?

4

1 回答 1

1

推荐的方法是通过本文介绍的索引器: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;
于 2015-12-16T06:46:31.440 回答