双阈值检测:
梯度值>maxVal(上阈值):处理为边界.
minVal(下阈值)<梯度值<maxVal:连接边界则保留,否则舍弃.
梯度值<minVal:舍弃.
Canny自动边缘检测:
使用前建议先模糊图像即图像平滑处理,且只能读取灰度图或单通道图片.
提取单颜色通道(以BGR为例):b,g,r=cv2.split(图像对象)
自动检测边缘:cv2.Canny(图像对象,下阈值,上阈值)
图像阈值处理(仅限单通道图像,常用灰度图):
cv2.threshold(图像对象,阈值,超过(小于)阈值代替为的值,type)
阈值:若为'0'则表示让系统自动判断阈值.(仅适合双峰图)
type:
cv2.THRESH_BINARY:若超过阈值则替换,否则取0.
cv2.THRESH_BINARY_INV:若小于阈值则替换,否则取0.
cv2.THRESH_IRONC:若大于阈值则就等于阈值,其余不变.
cv2.THRESH_TOZERO:若大于阈值则不变,否则取0.
cv2.THRESH_TOZERO_INV:若小于阈值则不变,否则取0.
返回值一共有两个,第一个为返回原图,第二个为阈值处理后的图片.通常只用第二个,可以在cv2.threshold()后加[1]表示只获取阈值处理过后的图片.