在我们的日常生活中,所碰到的图像往往都有一定的倾斜。那么,如何用OpenCV来获取图像的旋转角度呢?
我们以下面的图片为例,简单介绍如何用OpenCV来获取图像的旋转角度。
4.png
可以看到,该图像存在着许多噪声,且是彩色图片,因此,需要对图像做预处理。
预处理
图像的预处理包括去除边缘,去除噪声(两条灰色线),滤波,二值化等,具体处理的Python代码如下:
#-*- coding: utf-8 -*-
importcv2
imagepath= 'F://CHN_Char/4.png'img= cv2.imread(imagepath, 1)#将图片的边缘变为白色
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