我有一个关于imrect()函数的问题,它是MatLab中图像处理工具箱的一部分。 我想在图像中用它的(x,y)坐标找到一个起始点。
我使用imrect函数设置要限制的区域并指定查找区域, 但我无法得到ROI蒙版重新映射到图像原始大小的点。
正如你在图像上看到的那样,有一个指定的矩形(青色),我想检查白线,特别是最接近矩形右边的点。我试验了只查看矩形的最后一列,但正如我之前提到的,重新映射到全局图像坐标失败了。 所以在这个例子中,我想得到的白点是(98,302)
原始(x,y)坐标是相关的,因此不能接受将图像裁剪到矩形。 那么,你有什么想法吗? 感谢您的任何帮助评论。
亲切的问候,
答案 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