如何用最小二乘法或HOUGH变换检测出下图中的4条直线,并求出其交点。求matlab代码。 200

wong6764
2011-06-05 · TA获得超过9131个赞
知道大有可为答主
回答量:3350
采纳率:50%
帮助的人:1073万
展开全部
Search for line segments in an image

I = imread('circuit.tif');
rotI = imrotate(I,33,'crop');
BW = edge(rotI,'canny');
[H,T,R] = hough(BW);
imshow(H,[],'XData',T,'YData',R,...
'InitialMagnification','fit');
xlabel('\theta'), ylabel('\rho');
axis on, axis normal, hold on;
P = houghpeaks(H,5,'threshold',ceil(0.3*max(H(:))));
x = T(P(:,2)); y = R(P(:,1));
plot(x,y,'s','color','white');
% Find lines and plot them
lines = houghlines(BW,T,R,P,'FillGap',5,'MinLength',7);
figure, imshow(rotI), hold on
max_len = 0;
for k = 1:length(lines)
xy = [lines(k).point1; lines(k).point2];
plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green');

% Plot beginnings and ends of lines 交点
plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','yellow');
plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red');
追问
这个是HOUGH 变换 检测直线···我尝试过··检测不出来··别的图像可以··这幅不行····
追答
bwmorph -
Morphological operations on binary images
Syntax
BW2 = bwmorph(BW,operation)
BW2 = bwmorph(BW,operation,n)

Description
BW2 = bwmorph(BW,operation) applies a specific morphological operation to the binary image BW.

BW2 = bwmorph(BW,operation,n) applies the operation n times. n can be Inf, in which case the operation is repeated until the image no longer changes.

operation=endpoints
----------------------------------------------
http://www.cs.sfu.ca/~hamarneh/ecopy/compvis1999_hough.pdf
http://www.cs.uregina.ca/Links/class-info/425/Lab4/index.html
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户85412
2011-06-07
知道答主
回答量:64
采纳率:0%
帮助的人:27.9万
展开全部
问老师
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
li544962846
2011-06-07
知道答主
回答量:67
采纳率:0%
帮助的人:27.8万
展开全部
我擦,这是数学题么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3bfdb35
2011-06-04
知道答主
回答量:56
采纳率:0%
帮助的人:23.8万
展开全部
- -,我不会
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式