opencv——照片裁剪/照片斜的摆正

图片裁剪

流程描述

# 1. 读取原图

# 2. 彩图转为灰度图

# 3. 灰度图转二值图

# 4. 找到最大的轮廓

# 5. 找到轮廓的包围矩形

# 6. 根据外切矩形,图片的剪切

步骤 

1. 读取原图

img = cv.imread("img/01_qiebian.jpg",cv.IMREAD_COLOR)

 2. 彩图转为灰度图

#转灰度
gray_img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)

 3. 灰度图转二值图

#灰度转二值
_,binary = cv.threshold(gray_img,0,255,cv.THRESH_BINARY_INV |cv.THRESH_OTSU)

  4. 找到最大的轮廓

# 查找轮廓
contours,_ = cv.findContours(binary, cv.RETR_EXTERNAL,cv.CHAIN_APPROX_SIMPLE)
print(len(contours))
#获取面积最大的
maxArea = 0
maxIntex = 0
for i,c in enumerate(contours):
    area = cv.contourArea(c)
    if area > maxArea:
        maxArea = area
        maxIntex = i
maxArea,maxIntex<

你可能感兴趣的:(机器学习Opencv,opencv,人工智能,计算机视觉,深度学习,人机交互)