如何让我的阈值窗口仅适用于我的一半图像?

时间:2013-09-09 03:31:49

标签: c++ visual-studio-2010 opencv threshold

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

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

我正在试图弄清楚如何在这个阈值窗口中说'仅显示像素(我不知道它的正确术语),它位于x轴上320到640之间。'

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

int xPos;

但是我不知道该怎么做,并将信息汇集到我的阈值窗口。我是否修改了显示的行?是否有一个功能,我只是没有找到,可以插入下面?我是否需要建立一个全新的课程?

提前谢谢。

1 个答案:

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

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