warpAffine.pointsAffine【自定義包】
from img_pakage.ocv import warpAffine
img_path = f'../img/three_angle.png'
warpAffine.pointsAffine(img_path,0,0,24,217,220,160,0,0,24,217,220,160)
print(warpAffine.pointsAffine.__doc__)
if __name__ =='__main__':
pass
庫(kù)warpAffine.pointsAffine__doc__:輸出幫助截圖:
上圖,下圖對(duì)應(yīng)三個(gè)頂點(diǎn)坐標(biāo),通過運(yùn)算,生成圖像的變換的仿射。
● src:源圖像中三角形頂點(diǎn)的坐標(biāo),也就是在源圖像中任找不在同一直線上的三個(gè)點(diǎn),將三個(gè)點(diǎn)的坐標(biāo)作為三個(gè)元素放到src對(duì)應(yīng)列表中
● dst:目標(biāo)圖像中相應(yīng)三角形頂點(diǎn)的坐標(biāo),也就是三個(gè)點(diǎn)在變換后圖像中的坐標(biāo)列表,要求與源圖像三個(gè)點(diǎn)一一對(duì)應(yīng)
● 返回值:從三對(duì)對(duì)應(yīng)的點(diǎn)計(jì)算出來的仿射變換矩陣
按照 P-B-C順序,建立三個(gè)頂點(diǎn),對(duì)應(yīng)的在右圖也建立P-B-C三個(gè)頂點(diǎn),我們此時(shí)可以把左右兩圖坐標(biāo)設(shè)置為完全相同的頂點(diǎn)坐標(biāo)。
按照?qǐng)D片顯示,我們嘗試向上移動(dòng)P點(diǎn):
調(diào)節(jié)P點(diǎn)坐標(biāo)向上,原P點(diǎn)坐標(biāo)為[0,0], 調(diào)節(jié)后的點(diǎn)坐標(biāo)為[0, -8]向上平移8點(diǎn)像素,同理P的輔助線值也向上平移了8個(gè)像素。
認(rèn)真觀察左圖和右圖,我們得到了一些規(guī)律,三點(diǎn)仿射選點(diǎn)規(guī)則,按下圖中1,2,3順序分別在源圖和目標(biāo)圖中選擇了對(duì)應(yīng)點(diǎn)這里是P,B,C,作參照點(diǎn):
左圖:P(76,58)[0,0] — B(24,217)[24,217] — C(164, 217)[220,160]
右圖:P(76,58)[0,0] — B(24,217)[24,217] — C(164, 217)[220,160]
三頂點(diǎn)變換仿射命令下,我們會(huì)得到完全相同的圖片,接下來我們?nèi)绻胱孭點(diǎn)向右移動(dòng)10個(gè)像素點(diǎn),即P的x坐標(biāo)向右移動(dòng),我們只需要把P點(diǎn)的橫坐標(biāo)增加+10(76,58)[+10,0],
下圖中的1,2,3順序號(hào)是圖片定點(diǎn)的位置順序:
B,C坐標(biāo)值不變情況下,我們就完美得到了點(diǎn)P移動(dòng)后效果:
左圖:P(76,58)[0,0] 右圖:P(76,58)[10,0] ,
如果我們想進(jìn)一步調(diào)節(jié)右圖的點(diǎn)位置,只需要對(duì)應(yīng)的改變每個(gè)點(diǎn)的X,Y坐標(biāo)值就可以了。
連載PDF圖書目錄(后續(xù)改版更新中…)
請(qǐng)各位朋友們關(guān)注,收藏,后續(xù)會(huì)帶更多好看的內(nèi)容,在此博客中更新。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧