Matlab:如何找到正确的白线最右边的点?

时间:2012-10-18 10:58:33

标签: matlab

我有一个关于imrect()函数的问题,它是MatLab中图像处理工具箱的一部分。 我想在图像中用它的(x,y)坐标找到一个起始点。

我使用imrect函数设置要限制的区域并指定查找区域, 但我无法得到ROI蒙版重新映射到图像原始大小的点。

正如你在图像上看到的那样,有一个指定的矩形(青色),我想检查白线,特别是最接近矩形右边的点。我试验了只查看矩形的最后一列,但正如我之前提到的,重新映射到全局图像坐标失败了。 所以在这个例子中,我想得到的白点是(98,302)

enter image description here

原始(x,y)坐标是相关的,因此不能接受将图像裁剪到矩形。 那么,你有什么想法吗? 感谢您的任何帮助评论。

亲切的问候,

1 个答案:

答案 0 :(得分:2)

哦,我的天哪。 我经常应该到外面去拿一大袋空气。 当遇到问题时,这确实有帮助。

对于有相同问题的所有人,请参阅以下部分中的答案。

imshow(im);
h1 = imrect;
pos = getPosition(h1); % to get the current position of the rectangle
setPosition(h1,[pos(1) pos(2) 1 pos(4)]); %for just selecting one row of the rect
BW = createMask(h1); 
test = BW.*im; % get the masked content of the image
[x,y] = find(test); % find the non-zero element and return x and y