3、 在 opencv 窗口实时显示高斯模糊后的(彩色)图像的设计思路
时间: 2023-06-11 09:06:35 浏览: 118
设计思路如下:
1. 读取彩色图像并显示在 OpenCV 窗口中。
2. 创建一个滑动条,用于调整高斯核的大小和标准差。
3. 在窗口中实时显示经过高斯模糊后的图像。
4. 当滑动条的值发生变化时,重新计算并显示模糊后的图像。
下面是代码实现的示例:
```python
import cv2
def on_trackbar(val):
global img
kernel_size = cv2.getTrackbarPos("Kernel Size", "Gaussian Blur")
std_dev = cv2.getTrackbarPos("Standard Deviation", "Gaussian Blur")
img_blur = cv2.GaussianBlur(img, (kernel_size, kernel_size), std_dev)
cv2.imshow("Gaussian Blur", img_blur)
img = cv2.imread("image.jpg")
cv2.namedWindow("Gaussian Blur")
cv2.createTrackbar("Kernel Size", "Gaussian Blur", 1, 21, on_trackbar)
cv2.createTrackbar("Standard Deviation", "Gaussian Blur", 1, 10, on_trackbar)
cv2.imshow("Gaussian Blur", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
代码中,on_trackbar 函数是滑动条数值变化时的回调函数。在该函数中,获取当前滑动条的值,并根据该值重新计算高斯模糊后的图像。然后,将该图像显示在窗口中。
在主函数中,读取图像并创建窗口和滑动条。然后,显示原始图像,并等待用户按下任意键关闭窗口。
阅读全文