日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python 图片旋转角度_OpenCV获取图像的旋转角度

發(fā)布時(shí)間:2024/9/18 python 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 图片旋转角度_OpenCV获取图像的旋转角度 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在我們的日常生活中,所碰到的圖像往往都有一定的傾斜。那么,如何用OpenCV來(lái)獲取圖像的旋轉(zhuǎn)角度呢?

我們以下面的圖片為例,簡(jiǎn)單介紹如何用OpenCV來(lái)獲取圖像的旋轉(zhuǎn)角度。

4.png

可以看到,該圖像存在著許多噪聲,且是彩色圖片,因此,需要對(duì)圖像做預(yù)處理。

預(yù)處理

圖像的預(yù)處理包括去除邊緣,去除噪聲(兩條灰色線),濾波,二值化等,具體處理的Python代碼如下:

#-*- coding: utf-8 -*-

importcv2

imagepath= 'F://CHN_Char/4.png'img= cv2.imread(imagepath, 1)#將圖片的邊緣變?yōu)榘咨?/p>

height, width = img.shape[0:2]for i inrange(width):

img[0, i]= [255]*3img[height-1, i] = [255]*3

for j inrange(height):

img[j, 0]= [255]*3img[j, width-1] = [255]*3

#去掉灰色線(即噪聲)

for i inrange(height):for j inrange(width):if list(img[i,j]) == [204,213,204]:

img[i,j]=[255]*3

#把圖片轉(zhuǎn)換為灰度模式

gray =cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#中值濾波

blur = cv2.medianBlur(gray, 3) #模板大小3*3#二值化

ret,thresh = cv2.threshold(blur, 200, 255, cv2.THRESH_BINARY)#保存圖片

cv2.imwrite('F://CHN_Char/char_after_bin.png', thresh)

預(yù)處理后的圖片如下:

預(yù)處理后的圖片

可以看到,預(yù)處理后的圖像基本不含噪聲,且是黑色圖片,這樣,我們就可以進(jìn)行后續(xù)操作了。

獲取旋轉(zhuǎn)角度

對(duì)于上述預(yù)處理后的圖片,可以用OpenCV的最小外接矩形方法(minAreaRect())來(lái)操作,該方法會(huì)返回最小外界矩形的中心點(diǎn)左邊,矩形寬度、高度,以及旋轉(zhuǎn)角度。因?yàn)閳D像中只有一個(gè)文字,因此包含該文字的最小外接矩形返回的角度就是圖像的旋轉(zhuǎn)角度(當(dāng)然也有可能是負(fù)值)。

完整的Python代碼如下:

#-*- coding: utf-8 -*-

importcv2importnumpy as np

imagepath= 'F://CHN_Char/char_after_bin.png'img= cv2.imread(imagepath, -1)

image, contours, _= cv2.findContours(img, 2, 2)for cnt incontours:#最小外界矩形的寬度和高度

width, height = cv2.minAreaRect(cnt)[1]if width* height > 100:#最小的外接矩形

rect =cv2.minAreaRect(cnt)

box= cv2.boxPoints(rect) #獲取最小外接矩形的4個(gè)頂點(diǎn)

box =np.int0(box)if 0 not inbox.ravel():'''繪制最小外界矩形

for i in range(4):

cv2.line(image, tuple(box[i]), tuple(box[(i+1)%4]), 0) # 5'''

#旋轉(zhuǎn)角度

theta = cv2.minAreaRect(cnt)[2]if abs(theta) <= 45:print('圖片的旋轉(zhuǎn)角度為%s.'%theta)

angle=theta#仿射變換,對(duì)圖片旋轉(zhuǎn)angle角度

h, w =img.shape

center= (w//2, h//2)

M= cv2.getRotationMatrix2D(center, angle, 1.0)

rotated= cv2.warpAffine(img, M, (w, h), flags=cv2.INTER_CUBIC, borderMode=cv2.BORDER_REPLICATE)#保存旋轉(zhuǎn)后的圖片

cv2.imwrite('F://CHN_Char/after_rotated.png', rotated)

輸出結(jié)果如下:

圖片的旋轉(zhuǎn)角度為-23.629377365112305.

得到的圖像如下:

旋轉(zhuǎn)后的圖像

在上述Python代碼中,先是利用minAreaRect()獲取圖像中的最小外接矩形,加上一定的篩選條件(如矩形的面積大于100,旋轉(zhuǎn)角度小于45度等)就能得到包含文字的最小外界矩形,其旋轉(zhuǎn)角度就是整個(gè)圖像的旋轉(zhuǎn)角度。

識(shí)別圖像中的文字

有了旋轉(zhuǎn)后的圖像,我們不妨利用Tesseract-OCR軟件來(lái)識(shí)別圖像中的文字,完整的Python代碼如下:

importpytesseractimportcv2#tesseract.exe所在的文件路徑

pytesseract.pytesseract.tesseract_cmd = 'C://Program Files (x86)/Tesseract-OCR/tesseract.exe'imagepath= 'F://CHN_Char/after_rotated.png'image= cv2.imread(imagepath, -1)

text= pytesseract.image_to_string(image, lang='chi_sim', config='-psm 10')print("Tesseract-OCR的識(shí)別結(jié)果為: '%s'."%text)

輸出結(jié)果為:

Tesseract-OCR的識(shí)別結(jié)果為: '知'.

因此,我們得到的圖像的旋轉(zhuǎn)角度是正確的。當(dāng)然,借用以上方法,還可以識(shí)別以下圖片中的文字:

識(shí)別文字

總結(jié)

本次獲取圖像的旋轉(zhuǎn)角度是利用了圖像中只有一個(gè)文字,而包含該文字的最小外接矩形的旋轉(zhuǎn)角度就是圖像的旋轉(zhuǎn)角度。這只是獲取圖像旋轉(zhuǎn)角度的一種方式,當(dāng)然,還會(huì)有其他獲取圖像旋轉(zhuǎn)角度的方法.

總結(jié)

以上是生活随笔為你收集整理的python 图片旋转角度_OpenCV获取图像的旋转角度的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美久久久久久又粗又大 | 亚洲网站在线观看 | 波多野结衣之潜藏淫欲 | 麻豆精品国产传媒av绿帽社 | 无码人妻久久一区二区三区 | 美女被叉叉的影院 | 亚洲精品影片 | 亚洲欧美中日韩 | 男男做爰猛烈啪啪高 | 橹图极品美女无圣光 | 国产精品第一国产精品 | 欧美性生交xxxxxdddd | 欧美亚洲另类在线 | 欧美亚洲一区二区三区四区 | av天堂永久资源网 | 日本免费一区二区三区四区五六区 | 日韩一区二区欧美 | 国产精品自拍偷拍视频 | 久久久国产精品视频 | 毛片毛片毛片毛片毛片毛片毛片 | 新91视频在线观看 | 免费在线观看中文字幕 | 九九爱国产 | 男生草女生的视频 | 国产超碰自拍 | 精品人妻天天爽夜夜爽视频 | 日本欧美一区二区 | 国产又大又硬又粗 | 日日弄天天弄美女bbbb | 成人尹人 | 黄色小视频免费观看 | www.九色.com | 人人爽人人澡 | 超碰人人人人人 | 国产成人自拍视频在线观看 | 人妻视频一区二区三区 | 日韩一区二区三区在线看 | 欧美午夜久久久 | 狠狠老司机 | 精品国产乱码久久久久久蜜臀 | 久久久午夜电影 | 成人av无码一区二区三区 | 日本精品网站 | 99伊人 | 精品人妻少妇嫩草av无码 | 91爱爱网站 | 国产伦乱视频 | 天堂在线视频免费观看 | 中文字幕一区av | 亚洲激情视频小说 | 精品一区二区三区在线视频 | 欧美日韩国产伦理 | 国产第一区第二区 | 成人性爱视频在线观看 | 亚洲乱码国产乱码精品精剪 | 深田咏美av在线 | a在线观看视频 | 99午夜| 伊人狠狠| 青青青在线视频 | 999久久久久久 | 人人综合 | 一区二区一级片 | 国产原创麻豆 | 美女视频黄频视频大全 | 东京热一区二区三区四区 | 欧美激情在线观看一区 | 各处沟厕大尺度偷拍女厕嘘嘘 | 中文字幕一二三四 | 久久在线免费观看视频 | av网站一区二区 | 深夜福利视频在线 | 欧美亚洲国产精品 | 国产精品自产拍在线观看 | 亚洲污网站| 狠狠干干| 影音先锋激情在线 | 亲嘴扒胸摸屁股免费视频日本网站 | xxx精品| 人妻与黑人一区二区三区 | 久久综合中文 | www天天操 | 老司机深夜福利视频 | 国产精品成人自拍 | 久久国产精品久久久 | 97超碰97 | 欧美 日韩 国产 精品 | 三年在线观看视频 | 91视频免费播放 | jizz成人 | 黄频在线免费观看 | 女人脱裤子让男人捅 | 日韩精品人妻一区二区中文字幕 | 深夜福利院 | 伊人超碰在线 | www成人在线观看 | 男人天堂资源网 | 真人毛片视频 | 伦理自拍 |