两个坐标系进行了缩放平移后的变换关系
背景
我遇到的情況是這樣的:
一幅圖片上有若干個(gè)特征點(diǎn),而這些點(diǎn)的坐標(biāo)是基于該圖片的坐標(biāo)系(左上角為原點(diǎn)),我需要把這幅圖片放置到窗口的某個(gè)范圍(圖片拉伸填充該范圍),這個(gè)窗口有自己的坐標(biāo)系,與圖片的坐標(biāo)系不同。因此該圖片放置到這個(gè)窗口中某個(gè)范圍后,圖片中的特征點(diǎn)的坐標(biāo)都發(fā)生了變換。目標(biāo)就是求這個(gè)變換關(guān)系。
變換關(guān)系
實(shí)際上這是二維平面的坐標(biāo)變換,由于只涉及到了縮放和平移,因此該變換可以寫作
其中xwx_wxw?, ywy_wyw?是窗口坐標(biāo)系下的坐標(biāo),xpx_pxp?, ypy_pyp?是圖片坐標(biāo)系下的坐標(biāo)。
s1s_1s1?, s2s_2s2?, t0t_0t0?, t1t_1t1? 是這個(gè)變換的系數(shù),分別對(duì)應(yīng)縮放和平移,這4個(gè)系數(shù)需要根據(jù)圖片范圍,和圖片所在窗口范圍計(jì)算。
不失一般性地假設(shè)圖片范圍為xpo,ypo,wpo,hpo{x_{po}},{y_{po}}, {w_{po}}, {h_{po}}xpo?,ypo?,wpo?,hpo?。雖然圖片原點(diǎn)一般為(0,0), 我們還是假設(shè)xpo,ypo{x_{po}},{y_{po}}xpo?,ypo?, 因?yàn)榭赡芪覀円院笮枰谝粡埓髨D片截取一部分嵌入到窗口中,這時(shí)xpo,ypo{x_{po}},{y_{po}}xpo?,ypo?就不是0了。
窗口的范圍為xwo,ywo,wwo,hwo{x_{wo}},{y_{wo}}, {w_{wo}}, {h_{wo}}xwo?,ywo?,wwo?,hwo?
這時(shí)一個(gè)簡(jiǎn)單的解方程的問(wèn)題,解得
總結(jié)
以上是生活随笔為你收集整理的两个坐标系进行了缩放平移后的变换关系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: OpenCV中图像窗口的鼠标事件
- 下一篇: 【VS Code】更改默认的单击打开文档