这一期我们一步一步写一个基于Python+OpenCV的图像边缘检测应用。
目标:基于Python+OpenCV的图像边缘检测应用。
通过Python+OpenCV实现对图像边缘检测并显示新图片。
预备知识:
OpenCV Python api
高斯滤波
边缘检测
Python代码:
import cv2
import numpy as np
import random
img = cv2.imread('image0.jpg',1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
cv2.imshow('src',img)
#canny 1 gray 2 高斯 3 canny
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
imgG = cv2.GaussianBlur(gray,(3,3),0)
dst = cv2.Canny(img,50,50) #图片卷积
cv2.imshow('dst',dst)
cv2.waitKey(0)
执行结果:
重要语法:
cv2.imread
cv2.imshow
cv2.GaussianBlur
dst=cv.GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType]]])
cv2.Canny
edge = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]])
image:源图像
threshold1:阈值1
threshold2:阈值2
apertureSize:可选参数,Sobel算子的大小