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()
opencv边缘检测算法示例