フィルターのクリア

Drawing a white line on an image using (rho, theta).

4 ビュー (過去 30 日間)
Ba Ba Black Sheep!
Ba Ba Black Sheep! 2017 年 6 月 19 日
コメント済み: Ba Ba Black Sheep! 2017 年 6 月 20 日
I want to draw a line on the following image using (| |rho , theta ) of the detected line using the Hough transformation.
.
expected output
.
What is wrong in the following code?
It's not being able to display the line.
input_image = gray_imread('Scratch1.1.png');
maxPeaks = 1;
fillgap = 500;
minline = 7;
binary_image = edge(input_image,'canny');
[H,T,R] = hough(binary_image);
threshPeaks = ceil(0.3*max(H(:)));
P = houghpeaks(H, maxPeaks, 'threshold', threshPeaks);
hlines = houghlines(binary_image, T, R, P, 'FillGap', fillgap, 'MinLength', minline);
h_line = hlines(1);
rho = h_line.rho;
theta = h_line.theta;
imshow(input_image);
hold on;
x = h_line.point1(1):h_line.point2(1);
y = (rho - x* cos(theta) )/ sin(theta);
plot(x,y);
  2 件のコメント
Julian Hapke
Julian Hapke 2017 年 6 月 19 日
編集済み: Julian Hapke 2017 年 6 月 19 日
There seems to be a Problem when you calculate x and y. The line is there but in the wrong location (try expanding the axis limits to see what I mean.) Also: Calculation of x and y (especially with interval 1 on x, it's just a line) is not necessary. If I use
hline = plot([h_line.point1(1) h_line.point2(1)],[h_line.point1(2) h_line.point2(2)],'w')
I get the results you seem to be expecting.
Ba Ba Black Sheep!
Ba Ba Black Sheep! 2017 年 6 月 20 日
This is incorrect answer. Using sind and cosd solved my problem.

サインインしてコメントする。

回答 (1 件)

Julian Hapke
Julian Hapke 2017 年 6 月 20 日
My comment was the answer, so to stick to the structure of this forum:
Your calculation of x and y yields to wrong values. If you use the end points of the houghlines directly
hline = plot([h_line.point1(1) h_line.point2(1)],[h_line.point1(2) h_line.point2(2)],'w')
you get the line you showed in your "expected output"
Please mark this as answer if it fits your needs.

カテゴリ

Help Center および File ExchangeIntroduction to Installation and Licensing についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by