赞
踩
Fu Xianjun. All Rights Reserved
分别进行预处理,轮廓检测、轮廓排序,透视变换、寻找圆圈轮廓、输出每个轮廓,对比答案
- import cv2
- import numpy as np
- def cv_show(name,img):
- cv2.imshow(name,img)
- cv2.waitKey(0)
- cv2.destroyAllWindows()
- def order_points(pts):
- rect = np.zeros((4,2),dtype = "float32")#初始化同样大小的图像变量
- s = pts.sum(axis=1)#根据y坐标,提取参数
- rect[0] = pts[np.argmin(s)]
- rect[2] = pts[np.argmax(s)]
- d = np.diff(pts,axis=1)
- rect[1] = pts[np.argmin(d)]
- rect[3] = pts[np.argmax(d)]
- return rect
- def four_point_transform(img,pts):
- rect = order_points(pts)
- (tl,tr,br,bl) = rect
- widthA = np.sqrt((br[0]-bl[0])**2+(br[1]-bl[1])**2)
- w

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。