作業2說明:
撰寫一個程式將一張圖像的(a)整張圖像,(b)中心內切圓區域,旋轉一個角度(逆時針旋轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。
開發環境:
Windows10
Vscode
Python3.9.6
Opencv-Python_4.5.5.62
程式想法:
第一個整張圖片倒轉:先cv2.imread完圖片,cv2.nameWindow給視窗,再來就是建立滾輪條createTrackbar,再來連結到函式rotate1, 裡面有能夠隨時更新位置的getTrackbarPos,還有翻轉圖片的getRotationMatrix2D(中心點,角度,倍數),接著還有warpAffine讓我們仿射完的圖片,依然可以保持平行性與平直性,return完後cv2.imshow,然後寫一個while 1的迴圈讓他一直跑,再設一個key當它等於Esc鍵時結束程式
第二個中心圓圖片倒轉:跟第一個不太一樣的是,首先用numpy建立一個全黑的圖片,接著在上面畫一個白色的圓,然後用cv2.bitwise_and來用mask遮罩,取得原本照片的中心圓.這實再讀一張原本的照片,在上面畫一個黑色的中心圓,再把原本照片的中心圓和畫了黑色的圓的照片相加cv2.add傳入函式rotate,之後步驟就和第一個一樣了
Demo影片:https://youtu.be/xUDiIwT0sp8
沒有留言:
張貼留言