Lets say, i have a line and i want to extend the line until the end of the image. The line is displayed in the first photo with the green is my basic line, i want to extend it like the second image, until the end of the image. I want to do this for all the lines that i have detected. Does anyone knows how to do this?
i think i found it
X= [x1, x2] Y=[y1, y2] c = [[1; 1] X(:)]\Y(:); slope_m = c(2) intercept_b = c(1) aLine = [slope_m,-1,intercept_b]; points = lineToBorderPoints(aLine,size(negfillHoles)) line(points([1 ,3]),points([2 ,4]),'LineWidth',1.5,'Color','r'); plot(x1,y1,'*','LineWidth',2,'Color','g');
I would suggest this approach:
- convert RGB image to HSV (https://www.mathworks.com/help/matlab/ref/rgb2hsv.html)
- in the H plane select only the green pixels
- apply the Hough transform (https://www.mathworks.com/help/images/ref/hough.html)
- draw the complete line