1

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

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

正如您在图像上看到的,有一个指定的矩形(青色),我想检查白线,尤其是距离矩形右边缘最近的点。我尝试只查看矩形的最后一列,但正如我之前提到的,重新映射到全局图像坐标上失败了。所以在这个例子中,我想得到的白点大约是 (98,302)

在此处输入图像描述

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

亲切的问候,

4

1 回答 1

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 
于 2012-10-18T11:24:09.117 回答