资源简介
读入图片,利用radon变换进行直线检测,并将检测结果显示在图像上
代码片段和文件信息
clc
close all
clear all;
%radon变换
t=strcat(‘Stest‘int2str(15)‘.jpg‘);%读入图片名称
I=imread(t‘jpg‘);
I=imresize(I[128128]); %重置图片大小
I=mat2gray(I);
p1=figure(1);
theta=0:179; %radon变换。获得从0到179每个幅角的
[Rx]=radon(Itheta);
[MN]=size(R);
imagesc(thetaxR); %显示radon变换结果
colormap(hot);
title(‘Radon result‘);
xlabel(‘theta(幅角)‘);
ylabel(‘x(幅值)‘);
colorbar
p2=figure(2);
imshow(I);
%findpeaks函数只能对一维向量进行处理,因此对radon变换结果变形
J=reshape(RM*N1);
[PKSLOCS]= findpeaks(J‘THRESHOLD‘6); %利用峰值检测函数进行峰值检测,可设置阈值阈值因图而异
L=size( LOCS1); %检测到的峰值个数,即最终检测出的直线条数
d=zeros(size(LOCS)); %存放检测结果-距离
thetar=zeros(size(LOCS));%存放检测的直线角度
for i=1:L
d(i)=mod(LOCS(i)185)-(M-1)/2; %实际是距离
thetar(i)= fix(LOCS(i)/M); %实际是度数
end
thetar
d
%将直线进行呈现,原理参考https://cn.mathworks.com/help/images/detect-lines-using-the-radon-transform.html?searchHighlight=radon%20transform%20peak&s_tid=doc_srchtitle
for i=1:L
if thetar(i)==0
x1=64+d(i);
x2=x1;
相关资源
- 数字图像处理radon matlab变换算法代码
- 边缘检测+hough直线检测
- LSD直线检测算法代码OpenCV+Matlab
- LSD直线检测opencv+matlab
- LSD直线检测,matlab工具箱
- RADON变换的基本原理
- radon变换检测图像中的直线
- 基于Matlab直线检测
- LSD直线检测算法
- radon变换车牌倾斜校正Matlab代码
- radon变换C代码
- LSD检测算法MATLAB代码
- Radon变换检测直线程序
- MATLAB——Radon变换
- 自编霍夫变换实现直线检测
- 道路识别
- 链码直线检测
- Hough 实现Hough直线检测
- hough变换检测直线的matlab源程序,可直
- matlab的hough直线检测绘制
- Radon变换图像几何校正(Matlab)
- matlab基于hough变换的直线检测
- wigner-radon变换的MATLAB工具箱函数包
评论
共有 条评论