gpt4 book ai didi

c++ - inRange 和 Mat 错误

转载 作者:行者123 更新时间:2023-11-28 00:32:48 25 4
gpt4 key购买 nike

我正在使用 OpenCV 和 Eclipse。

我需要检测人体皮肤,所以我将图像转换为 HSV,然后使用 inRange 函数获取带有白色皮肤图像的 Mat。

问题是现在,我需要检测哪些组件是白色来修改原始帧中的这个像素(我正在用摄像机改变肤色),但我无法访问返回的 Mat在范围内

cvtColor(frame,frame,CV_BGR2HSV);
Mat n;
inRange(frame, Scalar(0, 10, 60), Scalar(20, 150, 255), n);


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

n.at(&i);
//n(i,j);

}
}

那是有问题的代码。当我进入内部循环时,构建失败并给出了很多引用模板的错误。

任何人都知道我怎样才能访问这个矩阵?还有其他方法可以实现我的目标吗?也许我把问题复杂化了。

感谢您的宝贵时间。

最佳答案

与 inRange 等无关,这只是您的 Mat 访问代码已损坏。

Vec3b & hsvPixel = n.at<Vec3b>(i,j);
// hsvPixel[0] = h;
// hsvPixel[1] = s;
// hsvPixel[2] = v;

关于c++ - inRange 和 Mat 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22176436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com