Tomkis90
Tomkis90

Reputation: 31

Python line detection

I am trying to detect lines using this python script:

import cv2
import numpy as np

img = cv2.imread('10crop.tiff')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray,50,150,apertureSize = 3)
minLineLength = 1
maxLineGap = 10
lines = cv2.HoughLinesP(edges,1,np.pi/180,100,minLineLength,maxLineGap)
for x1,y1,x2,y2 in lines[0]:
    cv2.line(img,(x1,y1),(x2,y2),(0,0,255),15)

cv2.imwrite('houghlines5.jpg',img)

I'm getting very poor results, am I doing something wrong? here is the image:

image (the red line was marked by the script everything else was skipped and left black) I need to keep the text not marked.

Upvotes: 0

Views: 125

Answers (1)

Christoffer
Christoffer

Reputation: 558

You are almost there, you only need to print all lines. The code you provided only draws 1 line. So add this to your for loop:

for x in range(0, len(lines)):
    for x1,y1,x2,y2 in lines[x]:

Upvotes: 1

Related Questions