5 用python進行OpenCV實戰(zhàn)之圖像變換2(旋轉(zhuǎn))

前言

最近有些其他事情,一周未更新了霉旗,實在抱歉蛀骇。以后爭取擅憔,每周多更新幾次檐晕。雖然也不知道能有多少人看到,但是也算自己的一種堅持吧个榕!

1 旋轉(zhuǎn)

1.1 旋轉(zhuǎn)基本操作

旋轉(zhuǎn)的概念正如我們平常聽見的一樣:將圖片選裝x度芥喇。我們先通過多少度來旋轉(zhuǎn)圖片,然后我們將寫一個旋轉(zhuǎn)函數(shù)械馆。

import numpy as np #1
import argparse #2
import imutils #3
import cv2 #4

ap = argparse.ArgumentParser() #5
ap.add_argument("-i", "--image", required = True,
    help = "Path to the image") #6
args = vars(ap.parse_args()) #7

image = cv2.imread(args["image"]) #8
cv2.imshow("Original", image) #9

(h, w) = image.shape[:2] #10
center = (w // 2, h // 2) #11

M = cv2.getRotationMatrix2D(center, 45, 1.0) #12
rotated = cv2.warpAffine(image, M, (w, h)) #13
cv2.imshow("Rotated by 45 Degrees", rotated) #14

M = cv2.getRotationMatrix2D(center, -90, 1.0) #15
rotated = cv2.warpAffine(image, M, (w, h)) #16
cv2.imshow("Rotated by -90 Degrees", rotated) #17

rotated = imutils.rotate(image, 180) #18
cv2.imshow("Rotated by 180 Degrees", rotated) #19
cv2.waitKey(0) #20

#1-9:
與前幾節(jié)一樣的操作霹崎,進行導包仿畸,然后顯示原始圖片朗和,但是需要注意的是在第三行 import imutils,還記得它是什么嗎?我們在上一節(jié)還詳細介紹過啊千埃。忘記了忆植,可以返回上一節(jié)看看。

#10-11:
在第10行中我們得到了圖像的寬和高耀里,然后我們通過"http://"將它們除以2取整來得到旋轉(zhuǎn)的中心拾氓。當然我們也可以不以中心為旋轉(zhuǎn)中心,這里為了方便房官。

#12:
正如我們定義一個矩陣來移動圖像一樣,我們還需要定義一個矩陣來旋轉(zhuǎn)圖像翰守,然而不同的是我們不是通過NumPy來構(gòu)造矩陣的蜡峰,而是通過:

cv2.getRotationMatrix2D()

第一個參數(shù):表示向以哪一點進行旋轉(zhuǎn)?這里就是圖像的中心
第二個參數(shù):表示我們希望旋轉(zhuǎn)的角度早像。這里為正45度肖爵,表示順時針旋轉(zhuǎn)45度
第三個參數(shù):表示圖像旋轉(zhuǎn)后的大小劝堪,這里設(shè)為1表示大小與原圖大小一致

#13-14:
通過cv2.warpAffine()方法揉稚,我們便可進行旋轉(zhuǎn)圖像的操作,第一個參數(shù)為原圖余境,第二個參數(shù)為旋轉(zhuǎn)矩陣灌诅,第三個參數(shù)為圖像(寬,高)的元組即舌,然后將旋轉(zhuǎn)后的圖像顯示出來

#15-17:
采用同樣的方法將圖像逆時針旋轉(zhuǎn)90度顽聂,然后展示出來

#18-20:
在第18行我們使用了:imutils這個自己寫的庫盯仪,然后調(diào)用了rotate()方法。第一個參數(shù)是需要操作的圖像耀石,第二個參數(shù)是要旋轉(zhuǎn)的度數(shù)娶牌。

1.2 自寫的函數(shù)庫

在imutils.py中我們自定義rotate函數(shù)

def rotate(image, angle, center=None, scale=1.0): #1
    (h, w) = image.shape[:2] #2
    if center is None: #3
        center = (w // 2, h // 2) #4

    M = cv2.getRotationMatrix2D(center, angle, scale) #5

    rotated = cv2.warpAffine(image, M, (w, h)) #6
    return rotated #7

#1-4:
我們的旋轉(zhuǎn)方法又四個參數(shù),第一個是圖像诗良,第二個是我們所希望旋轉(zhuǎn)的角度,我們還提供了兩個可選擇的變量:中心點和規(guī)模舞骆。中心點是我們希望我們的圖像圍繞哪一點旋轉(zhuǎn)径荔?如果,沒有給它賦值狈惫,我們會默認將圖像的中心點賦值給它胧谈。規(guī)模大小我們默認為1.0荸频,表示沒有任何大小的變化。

#5-7:
通過構(gòu)造我們的旋轉(zhuǎn)矩陣稳强,然后我們將旋轉(zhuǎn)后的結(jié)果返回和悦。

2 效果展示

旋轉(zhuǎn)效果展示

轉(zhuǎn)載請注明出處:
CSDN:樓上小宇__home:http://blog.csdn.net/sty945
簡書:樓上小宇:http://www.reibang.com/u/1621b29625df

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蹄咖,一起剝皮案震驚了整個濱河市付鹿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌俊抵,老刑警劉巖坐梯,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異谎替,居然都是意外死亡,警方通過查閱死者的電腦和手機挫掏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門尉共,熙熙樓的掌柜王于貴愁眉苦臉地迎上來弃锐,“玉大人,你說我怎么就攤上這事剧蚣⌒ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長熊镣。 經(jīng)常有香客問我募书,道長,這世上最難降的妖魔是什么鬼吵? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任齿椅,我火速辦了婚禮启泣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘寥茫。我一直安慰自己,他們只是感情好芭梯,可當我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布玖喘。 她就那樣靜靜地躺著,像睡著了一般柴灯。 火紅的嫁衣襯著肌膚如雪费尽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天查描,我揣著相機與錄音柏卤,去河邊找鬼。 笑死勾笆,一個胖子當著我的面吹牛桥滨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蒲每,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼邀杏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了望蜡?” 一聲冷哼從身側(cè)響起刁品,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤挑随,失蹤者是張志新(化名)和其女友劉穎勒叠,沒想到半個月后膏孟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡弊决,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年飘诗,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昆稿。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡溉潭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出喳瓣,到底是詐尸還是另有隱情,我是刑警寧澤畏陕,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布蹭秋,位于F島的核電站堤撵,受9級特大地震影響羽莺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜盐固,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一刁卜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蛔趴,春花似錦、人聲如沸鱼蝉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽洁奈。三九已至,卻和暖如春呈野,著一層夾襖步出監(jiān)牢的瞬間氯哮,已是汗流浹背际跪。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工姆打, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留幔戏,地道東北人税课。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像韩玩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子合愈,可洞房花燭夜當晚...
    茶點故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內(nèi)容