I am having trouble looping through an image with lines and extract region of interest(roi) above those lines.
My code :
The thing I don't understand is how do i loop through my line_coords_list and extract unique roi for each line detected.
For example I had to manually extract this
Any help/advice will be greatly appreciated.
Thank you :)
My code :
import cv2
import numpy as np
img=cv2.imread('test3.jpg')
#img=cv2.resize(img,(500,500))
imgGray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
imgEdges=cv2.Canny(imgGray,100,250)
imgLines= cv2.HoughLinesP(imgEdges,1,np.pi/180,230, minLineLength = 700, maxLineGap = 100)
imgLinesList= list(imgLines)
a,b,c=imgLines.shape
line_coords_list = []
for i in range(a):
line_coords_list.append([int(imgLines[i][0][0]), int(imgLines[i][0][1]), int(imgLines[i][0][2]), int(imgLines[i][0][3])])
print(line_coords_list)#[[85, 523, 964, 523], [85, 115, 964, 115], [85, 360, 964, 360], [85, 441, 964, 441], [85, 278, 964, 278], [85, 197, 964, 197]]
roi= img[int(line_coords_list[0][1]-82): int(line_coords_list[0][-1]), int(line_coords_list[0][0]) : int(line_coords_list[0][2])]
print(roi)
cv2.imshow('Roi NEW',roi) My test image: https://i.stack.imgur.com/nSYTD.jpgThe thing I don't understand is how do i loop through my line_coords_list and extract unique roi for each line detected.
For example I had to manually extract this
roi= img[int(line_coords_list[0][1]-82): int(line_coords_list[0][-1]), int(line_coords_list[0][0]) : int(line_coords_list[0][2])]I just want to be able to generalise it.
Any help/advice will be greatly appreciated.
Thank you :)
