最近有些其他事情,壹周未更新了,實在抱歉。以後爭取,每周多更新幾次。雖然也不知道能有多少人看到,但是也算自己的壹種堅持吧!
旋轉的概念正如我們平常聽見的壹樣:將圖片選裝x度。我們先通過多少度來旋轉圖片,然後我們將寫壹個旋轉函數。
#1-9:
與前幾節壹樣的操作,進行導包,然後顯示原始圖片,但是需要註意的是在第三行 import imutils,還記得它是什麽嗎?我們在上壹節還詳細介紹過啊。忘記了,可以返回 上壹節 看看。
#10-11:
在第10行中我們得到了圖像的寬和高,然後我們通過"//"將它們除以2取整來得到旋轉的中心。當然我們也可以不以中心為旋轉中心,這裏為了方便。
#12:
正如我們定義壹個矩陣來移動圖像壹樣,我們還需要定義壹個矩陣來旋轉圖像,然而不同的是我們不是通過NumPy來構造矩陣的,而是通過:
第壹個參數:表示向以哪壹點進行旋轉?這裏就是圖像的中心
第二個參數:表示我們希望旋轉的角度。這裏為正45度,表示順時針旋轉45度
第三個參數:表示圖像旋轉後的大小,這裏設為1表示大小與原圖大小壹致
#13-14:
通過cv2.warpAffine()方法,我們便可進行旋轉圖像的操作,第壹個參數為原圖,第二個參數為旋轉矩陣,第三個參數為圖像(寬,高)的元組,然後將旋轉後的圖像顯示出來
#15-17:
采用同樣的方法將圖像逆時針旋轉90度,然後展示出來
#18-20:
在第18行我們使用了:imutils這個自己寫的庫,然後調用了rotate()方法。第壹個參數是需要操作的圖像,第二個參數是要旋轉的度數。
在imutils.py中我們自定義rotate函數
#1-4:
我們的旋轉方法又四個參數,第壹個是圖像,第二個是我們所希望旋轉的角度,我們還提供了兩個可選擇的變量:中心點和規模。中心點是我們希望我們的圖像圍繞哪壹點旋轉?如果,沒有給它賦值,我們會默認將圖像的中心點賦值給它。規模大小我們默認為1.0,表示沒有任何大小的變化。
#5-7:
通過構造我們的旋轉矩陣,然後我們將旋轉後的結果返回。