python opencv canny边缘检测代码
时间: 2023-02-26 20:48:56 浏览: 148
以下是 Python 使用 OpenCV 实现 Canny 边缘检测的代码示例:
```
import cv2
import numpy as np
# 读入图片
img = cv2.imread("image.jpg")
# 转换为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 高斯模糊,平滑图像
blurred = cv2.GaussianBlur(gray, (3, 3), 0)
# Canny 边缘检测
edges = cv2.Canny(blurred, 50, 150)
# 显示结果
cv2.imshow("Canny Edges", edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个代码中,首先我们读入了图片,然后将其转换为灰度图,再进行高斯模糊,最后使用 OpenCV 函数 `cv2.Canny()` 实现 Canny 边缘检测。
相关问题
python opencv canny边缘检测
Canny边缘检测是一种常用的图像边缘检测方法,可以使用OpenCV中的cv2.Canny()函数实现。下面是一个简单的示例代码:
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 灰度化
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 高斯滤波
blur = cv2.GaussianBlur(gray, (3, 3), 0)
# Canny边缘检测
edges = cv2.Canny(blur, 50, 150)
# 显示结果
cv2.imshow('edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
代码中,首先使用cv2.imread()函数读取图像,然后使用cv2.cvtColor()函数将图像转换为灰度图像。接着使用cv2.GaussianBlur()函数进行高斯滤波,去除图像中的噪声。最后使用cv2.Canny()函数进行Canny边缘检测,得到边缘图像。最后使用cv2.imshow()函数显示结果。
基于python和opencv的canny边缘检测
Canny边缘检测是一种基于梯度计算的边缘检测算法,它可以在图像中检测出较强的边缘,而忽略较弱的边缘和噪声。在Python中,可以使用OpenCV库来实现Canny边缘检测算法。
下面是一个基于Python和OpenCV的Canny边缘检测的示例代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('image.jpg', 0)
# 高斯滤波
blur = cv2.GaussianBlur(img, (3, 3), 0)
# 计算梯度
canny = cv2.Canny(blur, 50, 150)
# 显示结果
cv2.imshow('Canny', canny)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在代码中,首先使用`cv2.imread()`函数读取一张灰度图像。然后使用`cv2.GaussianBlur()`函数进行高斯滤波,以平滑图像并减少噪声。接着使用`cv2.Canny()`函数进行Canny边缘检测,其中50和150分别是Canny算法中的两个阈值,用来控制边缘的强度和连接性。最后使用`cv2.imshow()`函数显示结果,等待用户按下任意键后使用`cv2.destroyAllWindows()`函数关闭窗口。
需要注意的是,Canny边缘检测算法对图像的光照变化比较敏感,因此在使用时需要注意调整阈值来适应不同的图像。
阅读全文