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

标签 opencv image-processing mat hipi

到目前为止,以前版本的 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如本文所述:
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;

关于opencv - 如何在 OpenCV 3.0.0-1.1 Java API 中操作 Mat 图像中的单个像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34297389/

相关文章:

c++ - 在OpenCV的Glob C++中读取.txt文件

opencv - 训练 Tesseract 3 从煤气表的真实图像中识别数字

c++ - 子矩阵越界 (OpenCV)

c - matlab 的 bwarea 函数如何工作,我如何在 C 中实现它?

opencv - 如何在OpenCV中垂直旋转IplImage?

c++ - 垫类型转换和访问单个像素的问题

c++ - 将 Mat 图像转置为更大的 Mat 图像,Opencv

python - 如果满足条件,如何将像素值设置为特定值?

python - SVM 图像预测 Python

c++ - 将 Mat 对象推回 vector 的安全方法