Я пытаюсь применить грубое вероятностное преобразование в трубе, и у меня уже есть хорошо отфильтрованное изображение (края).
Мне нужно распознать любую из этих прямых (прилагаемая фигура), которые находятся в середине трубки, чтобы я мог определить уровень жидкости, но я не могу этого сделать.Кто-нибудь знает, как я могу решить это?
import cv2
import numpy as np
img = cv2.imread('tube.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imwrite('gray.png',gray)
edges = cv2.Canny(gray,350,720,apertureSize = 3)
cv2.imwrite('edges.png',edges)
minLineLength = 30
maxLineGap = 0
lines = cv2.HoughLinesP(edges,1,np.pi/180,10,minLineLength,maxLineGap)
for x1,y1,x2,y2 in lines[0]:
cv2.line(img,(x1,y1),(x2,y2),(0,255,0),4)
cv2.imwrite('houghlines.png',img)
Мои реальные результаты приведены на прилагаемой фигуре «жесткие линии».Появляется зеленая вертикальная линия, но мне нужна горизонтальная, чтобы я мог определить уровень жидкости.
заранее спасибо.
трубка
края
жесткие линии