使用open查找水平线和垂直线

2024-04-19 03:50:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从图像中拉出水平线和垂直线,用它们找出它们相交的点。我使用这个页面作为参考,但是我认为问题出在opencv对象上,我不理解它。这个引用是用C++编写的,但我用Python来做。当我显示水平图像时,我只有一个完全黑屏,尽管我应该有一个只有水平线的图像。 有人知道我做错了什么吗?在

参考文献: https://docs.opencv.org/3.2.0/d1/dee/tutorial_moprh_lines_detection.html

代码:

import cv2
import numpy as np
img = cv2.imread('msss.png')
blur_img = cv2.GaussianBlur(img, (5, 5), 0)
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow('image', gray_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
height, width = gray_img.shape
horizontal = gray_img.copy()
horizontal_size = int(width/30)
horizontal_struct = cv2.getStructuringElement(cv2.MORPH_RECT, 
                                             (horizontal_size, 1))
horizontal = cv2.erode(horizontal, horizontal, horizontal_struct, (-1, -1))
horizontal = cv2.dilate(horizontal, horizontal, horizontal_struct, (-1, -1))
cv2.imshow('image', horizontal)
cv2.waitKey(0)
cv2.destroyAllWindows()

Tags: 图像imageimportimgsizewidthcv2opencv
2条回答

哼,好像你在找如何识别角落。如果是,您可以在python中尝试此引用:

http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_feature2d/py_shi_tomasi/py_shi_tomasi.html

关于Obs,提供了形态转换的链接。他们所说的“提取”是指改变图像的一种参考,即这些线条消失的方式,而不提供任何线条坐标的参考。通常,这些变换有助于降低图像的噪声,并有助于下一步(如图像分割)更加容易。在

相关问题 更多 >