主要流程:
1.首先得到灰度图像
2.对灰度图像进行二值化
3.然后找一个最小矩形框住对象轮廓(opencv中有相应的函数)
4.这个最小矩形的函数会返回一个角度
5.我们利用这个角度得到一个旋转的矩形(仿射变换所需要的)
6.使用仿射变换得到矫正后的图像
1.得到灰度图像
//读取图像
src= cv.imread('imageTextR.png')
(h,w)=src.shape[:2]
//记录图像宽高,后面会用
//cv.imshow('src',src)
//cvtColor函数用于转换色彩空间,将图像转换为GRAY灰度图像
gray=cv.cvtColor(src,cv.COLOR_BGR2GRAY)
这是我们需要矫正的图像
2.对灰度图像进行二值化
ret,binary = cv.threshold(gray,0,255,cv.THRESH_BINARY_INV|cv.THRESH_OTSU)
#由于文本是黑底白字的,我们需要让背景是黑色的,所以我们在传入参数的时候需要使用cv.THRESH_BINARY_INV 加上_INV使二值图反转
这是二值图
3.找一个最小矩形框住对象轮廓
coords=np.column_stack(np.where(binary