-2
我想獲得圖像的四個角點或座標。我怎樣才能讓他們進入MatLab?如何在matlab中獲取圖像中角點的座標
我想獲得圖像的四個角點或座標。我怎樣才能讓他們進入MatLab?如何在matlab中獲取圖像中角點的座標
如果你指的是圖像角的座標,當你使用任何IMSHOW或IMAGE/IMAGESC,那麼這裏就是你如何找到它們繪製在軸上的圖像:
如果情節不指定範圍內的圖像:
image(img);
imshow(img);
然後img
繪製在與值1:size(img,2)
水平和爲中心的像素的座標軸垂直。由於這些值代表像素中心,並且像素大小爲1,因此圖像在每個方向上超出上述範圍延伸半個像素。因此圖像的範圍是:
xmin = 0.5;
xmax = size(img,2)+0.5;
ymin = 0.5;
ymax = size(img,1)+0.5;
從中你可以得到你的頂點座標[xmin ymin]
,[xmin ymax]
,[xmax ymin]
和[xmax ymax]
。
如果指定繪圖範圍,如:
image([x1 x2],[y1 y2],img);
你可能會認爲你指定這些限制是邊緣繪製圖像的,但它們實際上是像素的程度中心,所以再次繪製的圖像的真實範圍在每個方向上進一步半個像素。在每個方向上的像素大小可以計算如下:
dx = abs(x2-x1)/size(img,2);
dy = abs(y2-y1)/size(img,1);
,因此圖像的範圍是:
xmin = min(x1,x2)-0.5*dx;
xmax = max(x1,x2)+0.5*dx;
ymin = min(y1,y2)-0.5*dy;
ymax = max(y1,y2)+0.5*dy;
從中可以再次輕鬆搞定你的角座標。
這是什麼樣的圖像?請張貼示例或詳細說明。 – Jacob 2010-12-15 16:35:58
其.jpg圖像。 – chee 2010-12-15 17:12:11
參考這個http://stackoverflow.com/questions/2608428/finding-edge-and-corner-values-of-an-image-in-matlab,這裏它清楚地解釋 – 2010-12-15 16:38:07