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.jpg
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
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 :)