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