我正在使用Visual Basic 2010 Express和c ++中的opencv,虽然这行已限制我的颜色在阈值窗口中跟踪,
inRange(HSV,Scalar(0,1,170),Scalar(196,137,256),thresholdL);
我正在试图弄清楚如何在这个阈值窗口中说'仅显示像素(我不知道它的正确术语),它位于x轴上320到640之间。'
我确实有一个用于检查x位置的变量,名为
int xPos;
但是我不知道该怎么做,并将信息汇集到我的阈值窗口。我是否修改了显示的行?是否有一个功能,我只是没有找到,可以插入下面?我是否需要建立一个全新的课程?
提前谢谢。
答案 0 :(得分:1)
如果您想处理图像的某些特定部分,OpenCV ROI可能会帮助您
您可以拥有类似
的内容Mat HSV; //your source image for inrange
Mat thresholdL//destination image
int xPos= x_starting_point;
int yPos=HSV.rows
width=HSV.cols-xPos;
height=HSV.rows;
cv::Rect roi(xPos, yPos, width, height); // Your ROI rectangle
//Set image ROI
cv::Mat image_roi = HSV(roi);// note: this assignment does not copy data,HSV and image_roi now share data
//Perform your operation
inRange(image_roi,Scalar(0,1,170),Scalar(196,137,256),thresholdL);
// Now dislpay
imshow("out",HSV);
希望这些对你有帮助......