【发布时间】:2017-10-23 02:18:52
【问题描述】:
我正在尝试从图像中提取水平线和垂直线,以使用它们来找到它们相交的点。我将此页面用作参考,但我认为问题出在我不理解的 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()
【问题讨论】: