canny边缘检测:
现在要确定哪些边界才是真正的边界,需要设置两个阈值,minValue和maxValue。当图像的灰度梯度高于maxValue时被认为是真正的边界,那些低于minValue的边界会被抛弃。如果介于两者之间的话,就要看这个点是否与某个被确定为真正的边界点相连,如果是就认为它是边界点,如果不是就抛弃。
cv2.Canny()函数,这个函数第一个参数是输入图像,第二和第三分别是minVal和maxVal。第三个参数设置用来计算梯度的Sobel卷积核的大小,默认为3。
# -*- coding: utf-8 -*-
"""
Created on Wed Jun 07 19:57:09 2017
@author: hp
"""
import cv2
import numpy as np
from matplotlib import pyplot as plt
img=cv2.imread('F:\\Projects_opencv\\12.jpg')
edges=cv2.Canny(img,100,200)
cv2.imshow('Original Image',img)
cv2.imshow('Edge Image',edges)
cv2.waitKey(0)
看处理的结果: