糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > opencv Scharr Canny LOG边缘提取效果对比

opencv Scharr Canny LOG边缘提取效果对比

时间:2019-02-10 13:24:06

相关推荐

opencv Scharr Canny LOG边缘提取效果对比

# -*- coding: utf-8 -*-import cv2 as cvimport numpy as np import matplotlib.pyplot as plt#读取图像img = cv.imread('d:/paojie.png')img1 = cv.cvtColor(img, cv.COLOR_BGR2RGB)#转换为灰度图像grayImage = cv.cvtColor(img, cv.COLOR_BGR2GRAY)#高斯滤波gaussianBlur = cv.GaussianBlur(grayImage, (3,3), 0)#自适应阈值处理ret, binary = cv.threshold(gaussianBlur, 0, 255, cv.THRESH_BINARY+cv.THRESH_OTSU)#Scharr算子x = cv.Scharr(grayImage, cv.CV_32F, 1, 0) #X方向y = cv.Scharr(grayImage, cv.CV_32F, 0, 1) #Y方向absX = cv.convertScaleAbs(x) absY = cv.convertScaleAbs(y)Scharr = cv.addWeighted(absX, 0.5, absY, 0.5, 0)#Canny算子gaussian = cv.GaussianBlur(grayImage, (3,3), 0) #高斯滤波降噪Canny = cv.Canny(gaussian, 50, 150) #LOG算子gaussian = cv.GaussianBlur(grayImage, (3,3), 0) #先通过高斯滤波降噪dst = cv.Laplacian(gaussian, cv.CV_16S, ksize = 3) #再通过拉普拉斯算子做边缘检测LOG = cv.convertScaleAbs(dst)#效果图titles = ['Source Image', 'Gray Image', 'Binary Image','Scharr Image','Canny Image', 'LOG Image'] images = [img1, grayImage, binary, Scharr, Canny, LOG] for i in np.arange(6): plt.subplot(2,3,i+1),plt.imshow(images[i],'gray') plt.title(titles[i]) plt.xticks([]),plt.yticks([]) plt.show()

如果觉得《opencv Scharr Canny LOG边缘提取效果对比》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。