opencv边缘检测算法示例
-- coding:utf-8 --
import sys
import cv2
import numpy as np
图片文件名称,和代码放在了同一文件夹下
input_file = “mychair.jpg”
opencv读取灰度图像
img = cv2.imread(input_file, cv2.IMREAD_GRAYSCALE)
opencv读取彩色图像
img = cv2.imread(input_file, cv2.IMREAD_COLOR)
灰度图像是二维的,彩色图像是三维的
h, w = img.shape[:2]
索贝尔水平检测
sobel_horizontal = cv2.Sobel(img, cv2.CV_64F, 1, 0, ksize=5)
索贝尔垂直检测
sobel_vertical = cv2.Sobel(img, cv2.CV_64F, 0, 1, ksize=5)
拉普拉斯边检测
laplacian = cv2.Laplacian(img, cv2.CV_64F)
Canny边检测
canny = cv2.Canny(img, 50, 240)
原图显示
cv2.imshow(‘Original’, img)
索贝尔水平
cv2.imshow(‘Sobel horizontal’, sobel_horizontal)
索贝尔垂直
cv2.imshow(‘Sobel vertical’, sobel_vertical)
拉普拉斯边
cv2.imshow(‘Laplacian’, laplacian)
Canny边检测
cv2.imshow(‘Canny’, canny)
cv2.waitKey()