两个坐标系进行了缩放平移后的变换关系
背景
我遇到的情況是這樣的:
一幅圖片上有若干個特征點,而這些點的坐標是基于該圖片的坐標系(左上角為原點),我需要把這幅圖片放置到窗口的某個范圍(圖片拉伸填充該范圍),這個窗口有自己的坐標系,與圖片的坐標系不同。因此該圖片放置到這個窗口中某個范圍后,圖片中的特征點的坐標都發生了變換。目標就是求這個變換關系。
變換關系
實際上這是二維平面的坐標變換,由于只涉及到了縮放和平移,因此該變換可以寫作
其中xwx_wxw?, ywy_wyw?是窗口坐標系下的坐標,xpx_pxp?, ypy_pyp?是圖片坐標系下的坐標。
s1s_1s1?, s2s_2s2?, t0t_0t0?, t1t_1t1? 是這個變換的系數,分別對應縮放和平移,這4個系數需要根據圖片范圍,和圖片所在窗口范圍計算。
不失一般性地假設圖片范圍為xpo,ypo,wpo,hpo{x_{po}},{y_{po}}, {w_{po}}, {h_{po}}xpo?,ypo?,wpo?,hpo?。雖然圖片原點一般為(0,0), 我們還是假設xpo,ypo{x_{po}},{y_{po}}xpo?,ypo?, 因為可能我們以后需要在一張大圖片截取一部分嵌入到窗口中,這時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?
這時一個簡單的解方程的問題,解得
總結
以上是生活随笔為你收集整理的两个坐标系进行了缩放平移后的变换关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenCV中图像窗口的鼠标事件
- 下一篇: 【VS Code】更改默认的单击打开文档