请问OpenCV如何修改Mat矩阵特定位置RGB值?

Tsou 发布于 2012/03/16 16:11
阅读 5K+
收藏 0
例如我有个3通道的RGB矩阵mRgb

我如何将矩阵中所有 120<R值<180,120<G值<180,120<B值<180 的像素修改为红色?


                Imgproc.cvtColor(mYuv, mRgba, Imgproc.COLOR_YUV420sp2RGB, 3);   
                for (int i = 0 ; i < getFrameWidth() ; i++)
                {
                        for (int j = 0 ; j < getFrameHeight() ; j++)
                        {
                                double[] temp = mRgba.get(i,j);
                                double[] temp1 = {0,0,255};
                                if (temp[0] < 155 && temp[1] < 200 && temp[2] < 129 && temp[0] > 125 && temp[1] > 100 && temp[2] > 29)
                                {
                                        mRgba.put(i, j, temp1);
                                }        
                        }
                }

例如我自己的程序如上,但是LogCat报
java.lang.UnsupportedOperationException: Provided data element number (0) should be multiple of the Mat channels count (3)

加载中
返回顶部
顶部