use*_*079 2 c++ opencv computer-vision
有一个图像以cv::Mat
格式读取,我只想保留一个矩形区域,以便在图像中心检测.我尝试了这种cvCopy
方法,但它需要图像格式,cvArr
并且有没有人知道如何实现仍然使用Mat
格式?
有我的代码和截图用于创建掩码,掩码的大小与原始帧不匹配似乎很奇怪.这里有什么提示吗?
*cap >> frame1;
Rect roi(100,100,100,100);
for(int i =0; i<frame1.rows; i++)
{
for(int j=0; j<frame1.cols;j++)
{
if(!roi.contains(Point(i,j)))
{
frame1.at<uchar>(i,j) = 0;
}
}
}
Run Code Online (Sandbox Code Playgroud)
只需创建新图像,即引用相同的数据.
cv::Rect const mask(x1, y1, x2, y2);
cv::Mat roi = image(mask);
Run Code Online (Sandbox Code Playgroud)
现在你可以做roi处理了.roi上的所有更改也会适用于图像.
归档时间: |
|
查看次数: |
7683 次 |
最近记录: |