近来刚接触opencv,组长布置给我一个任务,就是找圆。但是opencv资料很多,基于python的却很少,我找了许多代码都不是太满意,遂自己一行行扣代码,并写上普通人都能看得懂的注释。目前还不能解决两圆相切环境下的外圆相交问题,期待大神指正。下面上代码!我是用jupyter写的
#加载环境包
import cv2
import numpy as np
#图片简单处理
img = cv2.imread('F://test image/4-tiny.jpg')#读取图片
GrayImage=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#灰度化
GrayImage= cv2.medianBlur(GrayImage,5)#中值模糊
#阈值处理,输入图片默认为单通道灰度图片
ret,th1 = cv2.threshold(GrayImage,127,255,cv2.THRESH_BINARY)#固定阈值二值化
#threshold为固定阈值二值化
#第二参数为阈值
#第三参数为当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值(一般情况下,都是256色,所以默认最大为255)
#thresh_binary是基于直方图的二值化操作类型,配合threshold一起使用。此外还有cv2.THRESH_BINARY; cv2.THRESH_BINARY_INV; cv2.THRESH_TRUNC; cv2.THRESH_TOZERO;cv2.THRESH_TOZERO_INV
th2 = cv2.adaptiveThreshold(GrayImage,255,cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY,3,5)
#a