利用opencv python写一段程序 要求给定一个图像,获取一张横向边缘的强化图
时间: 2024-06-10 20:06:50 浏览: 136
python opencv实现图像边缘检测
好的,我会尽力解答您的问题。
针对您的问题,以下是一段基于 OpenCV 和 Python 的实现代码:
```
import cv2
import numpy as np
# 读取图像
img = cv2.imread('your_image.jpg')
# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 使用 Canny 边缘检测算法
edges = cv2.Canny(gray, 50, 150, apertureSize=3)
# 找到所有的轮廓
contours, hierarchy = cv2.findContours(edges.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
# 找到最长的轮廓
longest_contour = max(contours, key=cv2.contourArea)
# 创建一个黑色的背景
cdst = np.zeros_like(img)
# 画出最长的轮廓
cv2.drawContours(cdst, longest_contour, -1, (0, 255, 0), 2)
# 显示结果图像
cv2.imshow('Edge Enhancement', cdst)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
以上代码实现了对图像的边缘检测和强化,并且只显示了其中一条横向的边缘。
希望对您有所帮助!
阅读全文