2022年3月8日 星期二

s1083346 作業2

作業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









沒有留言:

張貼留言