2014-09-05 104 views
0

我想以較大的圖像計算這個星的角點或輪廓。爲此,我將尺寸縮小到一個較小的尺寸&我可以清楚地獲得這些要點。現在如何在原始圖像中映射這個點?我正在使用opencv C++。 enter image description here如何在縮小的圖像中查找等效點?

+0

是的,如果縱橫比仍然相同。如果P1的x座標是小於1的X,那麼在較大的一個上它將是X *(1024/640) – 2014-09-05 11:01:10

+0

縮放是由某個原點完成的。如果比例原點是(0,0),則可以將每個點與比例因子相乘。如果要圍繞另一點進行縮放,則必須計算'(point-scaleOrigin)* scale_factor + scaleOrigin'。如果你想圍繞恆星的中心進行縮放,你必須計算恆星的重心,並將其用作scaleOrigin。映射將與此操作相反。 – Micka 2014-09-05 11:01:11

回答

2

考慮一個簡單的例子:圖像尺寸減少了一半。

因此,原始圖像中的笛卡爾座標(x,y)變成縮小圖像中的座標(x/2,y/2),並且縮小圖像中的座標(x',y')對應於座標(x * 2,y * 2)。

當然,在縮小比例的圖像中,小數座標通常會被舍入,所以精確映射僅適用於此示例原始圖像中的偶數座標。

概括地說,如果圖像的寬度以水平方向按比例縮放了w,垂直方向按比例縮放了h,則座標(x,y)變爲四捨五入的座標(x * w,y * h)。在我給的例子,無論是W和H是1/2,或0.5

你應該能夠找出值wh自己,並能夠座標映射平凡。當然,由於四捨五入,您將無法計算原始圖像中的確切座標。