三九宝宝网宝宝百科宝宝知识

如何用matlab中的小波工具箱来检测图像中的直线

12月22日 编辑 39baobao.com

[《线段、射线、直线》教学反思]综观整节课的学习效果,大部分学生能够认识到射线、直线是无限长的,不能比较其长短等等,但是有两点值得我们特别注意。一是不能盲目乐观。学生对于无限空间的认识还只是浅层次的...+阅读

可以试一下霍夫变换,比如:

clc; clear all; close all;

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');

% Determine the endpoints of the longest line segment

len = norm(lines(k).point1 - lines(k).point2);

if ( len > max_len)

max_len = len;

xy_long = xy;

end

end

% highlight the longest line segment

plot(xy_long(:,1),xy_long(:,2),'LineWidth',2,'Color','blue');

结果

"搜狗问问"

以下为关联文档:

《线段、射线、直线》课堂实录片段一,师:我们在上课之前带领大家做一个游戏互动一下,有谁愿意参与的吗?我们请两位同学走到台前。 一高一矮的两个男生很积极走到台前,同时大屏幕投影 比一比身高 。男生默默的...

matlab中的小波工具箱怎么用希望能详细介绍将原始数据文件夹copy到装有matlab的电脑 打开matlab软件,进入软件主界面 在软件的左下方找到start按钮,点击选择toolbox,然后选择wavelet 进入wavemenu界面,选择一维小波中的wa...

如何在MATLAB上加载Wavelab小波工具箱Binary download the file WaveLab802.zip to your PC by using the appropriate li nk from the WaveLab home page Un-zip the .zip file into the /matlab/toolbox/ fold...

MATLAB中的小波工具箱的程序代码怎样能显示出来t=0:0.0001:1.3; figure subplot(321) f1=sin(1*pi*10*t); plot(f1) title('频率为5hz的正弦波'); Ylabel('幅值'); Xlabel('时间'); subplot(322) f2=sin(2*pi*10*t); plot(f2) titl...

推荐阅读
图文推荐