cv.gaussianblur()demo
时间: 2024-05-12 15:13:39 浏览: 46
下面是使用 OpenCV 的 Python 接口实现高斯模糊的示例代码:
```python
import cv2
# 读取图像
img = cv2.imread('image.png')
# 高斯模糊
img_blur = cv2.GaussianBlur(img, (5, 5), 0)
# 显示图像
cv2.imshow('original', img)
cv2.imshow('blur', img_blur)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,我们首先使用 `cv2.imread()` 读取了一张图像。接着,使用 `cv2.GaussianBlur()` 函数进行高斯模糊,其中第一个参数是输入图像,第二个参数是高斯核的大小,第三个参数是标准差,可以设置为 0,表示自动计算。最后,使用 `cv2.imshow()` 显示原图和模糊后的图像,并等待用户按下任意键关闭窗口。
需要注意的是,高斯模糊是一种线性滤波操作,其对图像进行卷积运算,因此会导致图像的边缘模糊,这在一些应用场景下可能会影响到图像的质量,需要谨慎使用。
相关问题
import cv2 import numpy as np def CannyThreshold(lowThreshold): detected_edges = cv2.GaussianBlur(gray,(3,3),0) detected_edges = cv2.Canny(detected_edges,lowThreshold,lowThreshold*ratio,apertureSize = kernel_size) dst = cv2.bitwise_and(img,img,mask = detected_edges) # just add some colours to edges from original image. cv2.imshow('canny demo',dst) lowThreshold = 0 max_lowThreshold = 300 #最大阈值 ratio = 3 kernel_size = 3 #img = cv2.imread('AAA.jpg', cv2.IMREAD_GRAYSCALE) #注释此行图片不灰度化 img = cv2.imread("D:\xiao.jpg") #注释此行上行代码不注释图片灰度化 gray = cv2.imread("D:\xiao.jpg", cv2.IMREAD_GRAYSCALE) cv2.namedWindow('canny demo') cv2.createTrackbar('Min threshold','canny demo',lowThreshold, max_lowThreshold, CannyThreshold) CannyThreshold(0) # initialization if cv2.waitKey(0) == 27: cv2.destroyAllWindows()
这段代码是使用OpenCV库进行Canny边缘检测的操作,并且使用了滑动条来调节最小阈值。其中,首先对输入的图像进行了高斯模糊处理,然后使用Canny函数进行边缘检测,最后使用bitwise_and函数将原图像和检测出的边缘进行合并并显示出来。滑动条的回调函数是CannyThreshold,用于实时更新最小阈值并重新进行边缘检测和显示。如果按下ESC键,则关闭窗口。
分析错误import cv2 import numpy as np def CannyThreshold(lowThreshold): detected_edges = cv2.GaussianBlur(gray,(3,3),0) detected_edges = cv2.Canny(detected_edges,lowThreshold,lowThreshold*ratio,apertureSize = kernel_size) dst = cv2.bitwise_and(img,img,mask = detected_edges) # just add some colours to edges from original image. cv2.imshow('canny demo',dst) lowThreshold = 0 max_lowThreshold = 300 #最大阈值 ratio = 3 kernel_size = 3 #img = cv2.imread('AAA.jpg', cv2.IMREAD_GRAYSCALE) #注释此行图片不灰度化 img = cv2.imread("D:\xiao.jpg") #注释此行上行代码不注释图片灰度化 gray = cv2.imread("D:\xiao.jpg", cv2.IMREAD_GRAYSCALE) cv2.namedWindow('canny demo') cv2.createTrackbar('Min threshold','canny demo',lowThreshold, max_lowThreshold, CannyThreshold) CannyThreshold(0) # initialization if cv2.waitKey(0) == 27: cv2.destroyAllWindows()
抱歉,我的回答有误。这段代码是使用OpenCV库进行Canny边缘检测的操作,并且使用了滑动条来调节最小阈值。其中,首先对输入的图像进行了高斯模糊处理,然后使用Canny函数进行边缘检测,最后使用bitwise_and函数将原图像和检测出的边缘进行合并并显示出来。滑动条的回调函数是CannyThreshold,用于实时更新最小阈值并重新进行边缘检测和显示。如果按下ESC键,则关闭窗口。
阅读全文