使用openCV转换图像中的像素颜色

Posted

技术标签:

【中文标题】使用openCV转换图像中的像素颜色【英文标题】:Convert pixel color in image using openCV 【发布时间】:2015-05-27 18:45:24 【问题描述】:

所以我基本上想要做的是将图像中的像素转换为我想要的颜色,我在 openCV for java 中没有找到任何东西,我想出的唯一方法是:

     for (int i = 0; i < image.cols(); i++) 
     for (int j = 0; j < image.rows(); j++) 

     double[] data = image.get(i, j);
     data[0] = 255;
     data[1] = 255;
     data[2] = 255;
     image.put(i, j, data);
     
     
     Utils.matToBitmap(image, bmp);
     return bmp;;

试图在 java 中模拟这个 c++ code,但它不起作用

【问题讨论】:

这是c++还是java? 不,这是java,我正在尝试模仿c++代码 不要试图模仿c++代码。使用更高级别的函数,例如image.setTo(Scalar.all(255)) 如果你曾经尝试从 java 中访问像这样的像素 - 你做错了。 谢谢我发现它为什么不适合我,应该使用 ` for (int i = 0; i 【参考方案1】:

好的,找出它为什么不起作用,我应该写:

for (int i = 0; i < image.height(); i++) 
            for (int j = 0; j < image.width(); j++) 

而不是:

 for (int i = 0; i < image.cols(); i++) 
     for (int j = 0; j < image.rows(); j++) 

【讨论】:

以上是关于使用openCV转换图像中的像素颜色的主要内容,如果未能解决你的问题,请参考以下文章

使用Python和OpenCV在图像之间执行超快速的颜色转换

python+opencv2怎么将图像像素值转换为float64用于后续计算

根据OpenCV中一个通道中的值查找最大颜色像素

opencv如何读取多边形区域内的像素值?

将灰度图像中的像素转换为黑色(OpenCV)会导致意外结果?

OpenCV:如何为每个像素填充具有每种 RGB 颜色值的 rgb 图像?