0

我正在使用 Visual Basic 2010 Express 和 c++ 中的 opencv,虽然这条线已经限制了我在阈值窗口中跟踪的颜色,

inRange(HSV,Scalar(0,1,170),Scalar(196,137,256),thresholdL);

我试图弄清楚如何说“仅显示此阈值窗口中 x 轴上 320 到 640 之间的像素(我不知道它的正确术语)。”

我确实有一个用于检查 x 位置的变量,称为

int xPos;

但我不确定如何接受并将信息汇集到我的阈值窗口中。我是否修改显示的行?有没有我还没有找到并且可以在下面插入的功能?我是否必须建立一个全新的班级或其他什么?

先感谢您。

4

1 回答 1

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);

希望这些对你有帮助...

于 2013-09-09T05:02:48.853 回答