制作一个网站并上传访问,wordpress企业网站制作视频教程,邯山专业做网站,万州网python opencv 边缘检测#xff08;sobel、沙尔算子、拉普拉斯算子、Canny#xff09;
这次实验#xff0c;我们分别使用opencv 的 sobel算子、沙尔算子、拉普拉斯算子三种算子取进行边缘检测#xff0c;然后后面又使用了Canny算法进行边缘检测。 直接看代码#xff0c;代…python opencv 边缘检测sobel、沙尔算子、拉普拉斯算子、Canny
这次实验我们分别使用opencv 的 sobel算子、沙尔算子、拉普拉斯算子三种算子取进行边缘检测然后后面又使用了Canny算法进行边缘检测。 直接看代码代码比较简单不是很复杂 注cv2.convertScaleAbs进行了一个绝对值操作因为可能计算出来梯度为负值。
from ctypes.wintypes import SIZE
from multiprocessing.pool import IMapUnorderedIterator
import cv2
import copy
import math
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import ospathrls.jpgimgcv2.imread(path,1)
img_graycv2.imread(path,0)def cv_show(name,img):cv2.imshow(name,img)#cv2.waitKey(0),接收0表示窗口暂停cv2.waitKey(0)#销毁所有窗口cv2.destroyAllWindows()#cv_show(img_gray,img_gray)#Sobel算子img_sobel_xcv2.Sobel(img,cv2.CV_64F,1,0,ksize3)#1,0 表示选择水平还是竖直放心计算梯度img_sobel_ycv2.Sobel(img,cv2.CV_64F,0,1,ksize3)#1,0 表示选择水平还是竖直放心计算梯度sobel_img_x_abscv2.convertScaleAbs(img_sobel_x)
img_sobel_y_abscv2.convertScaleAbs(img_sobel_y)img_sobel_xy_abscv2.addWeighted(sobel_img_x_abs,0.5,img_sobel_y_abs,0.5,0)
plt.subplot(231)
#img_grayBGR_TO_RGB(img_gray,gray)
plt.imshow(img_sobel_x[:,:,::-1])
plt.title(img_sobel_x)plt.subplot(232)
plt.imshow(sobel_img_x_abs[:,:,::-1])
plt.title(sobel_img_x_abs)
plt.subplot(233)#resultBGR_TO_RGB(result)
plt.imshow( img[:,:,::-1])
plt.title(img)plt.subplot(234)#resultBGR_TO_RGB(result)
plt.imshow( img_sobel_y[:,:,::-1])
plt.title(img_sobel_y)plt.subplot(235)#resultBGR_TO_RGB(result)
plt.imshow( img_sobel_y_abs[:,:,::-1])
plt.title(img_sobel_y_abs)plt.subplot(236)#resultBGR_TO_RGB(result)
plt.imshow( img_sobel_xy_abs[:,:,::-1])
plt.title(img_sobel_xy_abs)
plt.show()#沙尔算子scharrxcv2.Scharr(img,cv2.CV_64F,dx1,dy0)scharrycv2.Scharr(img,cv2.CV_64F,dx0,dy1)scharry_img_x_abscv2.convertScaleAbs(scharrx)scharry_img_y_abscv2.convertScaleAbs(scharry)img_scharry_xy_abscv2.addWeighted(scharry_img_x_abs,0.5,scharry_img_y_abs,0.5,0)
#拉普拉斯算子
lap_imgcv2.Laplacian(img,cv2.CV_64F)
lap_img_abscv2.convertScaleAbs(lap_img)
plt.subplot(121)
#img_grayBGR_TO_RGB(img_gray,gray)
plt.imshow(scharry_img_y_abs[:,:,::-1])
plt.title(scharry_img_y_abs)plt.subplot(122)
plt.imshow(lap_img_abs[:,:,::-1])
plt.title(lap_img_abs)
plt.show()#resultBGR_TO_RGB(rpathrD:\learn\photo\cv\lena.jpgimgcv2.imread(path,0)
img_canny1cv2.Canny(img,80,150)
img_canny2cv2.Canny(img,50,150)
plt.subplot(131)
#img_grayBGR_TO_RGB(img_gray,gray)
plt.imshow(img,gray)
plt.title(img)
plt.subplot(132)
#img_grayBGR_TO_RGB(img_gray,gray)
plt.imshow(img_canny1,gray)
plt.title(img_canny1)plt.subplot(133)
plt.imshow(img_canny2,gray)
plt.title(img_canny2)
plt.show()os.system(pause)