OpenCv4Android:由图像屏蔽帧

时间:2014-01-23 18:41:36

标签: android image opencv frame mat

我想屏蔽从相机中获取的每个帧,并通过Drawable文件夹中的图像对其进行掩码。 也就是说,我想在MAT中找到我感兴趣的区域。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

图像(例如mRgba作为来自相机的风景图像)ROI由其尺寸决定,因此:

Rect roi = new Rect(0,0,mRgba.width(), mRgba.height());

如果你想掩盖图像的特定部分,那么我建议使用submat,所以如果mRgba是来自摄像头的图像,你可以设置ROI,然后将你的drawable调整到该区域。例如,将图像以100x100的方格绘制到原始图像的左上角。

Rect subROI = new Rect(0,0,100,100);
Mat subimg = mRgba.submat(subROI);
Mat yourDrawable = ....
Imgproc.resize(yourDrawable, submig, submig.size());

由于submig是对subROI的引用,因此mRgba左上区域的像素将会更新。

相关问题