首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当img( ROI )没有返回正确的值时,如何正确提取roi

当img( ROI )没有返回正确的值时,如何正确提取roi
EN

Stack Overflow用户
提问于 2012-10-19 00:02:57
回答 1查看 140关注 0票数 0

我以前也这样做过,它工作得很好,但我有奇怪的功能。我正在尝试提取图像的roi。下面是我的代码:

代码语言:javascript
复制
cv::Rect roi(x - 1, y - 1, 3, 3);
cv::Mat patch_t(current_frame, roi);

cout << (int)current_frame.at<unsigned char>(y - 1, x - 1) << endl;
cout << (int)patch_t.at<unsigned char>(0, 0) << endl;

这两个cout调用应该返回相同的值,但事实并非如此,一个返回150,另一个返回37。这显然是行不通的。否则,我如何在不复制图像的情况下提取图像的ROI?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-19 00:39:07

你的输入框是彩色的吗?

只有当current_frame是CV_8UC1或CV_8SC1类型的矩阵时,您的代码才有效。

使用current_frame.at<Vec3b>(i, j)访问RGB像素。还要注意,有时灰度图像被读取为3通道矩阵。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12958878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档