采用图像增强,二值/边缘检测对跑道图预处理,用radon变换检测跑道线,radon反变换得结果

news/2024/7/21 6:59:47 标签: matlab, 图像处理, 计算机视觉

MATLAB的radon变换检测跑道线
在这里插入图片描述

①预处理:图像增强、消噪、分割、边缘化;
②Radon变换:边缘图像作Radon变换
③直线检测:搜索变换域内局部最大值(亮点) , 根据识别规则, 检测目标直线变换域参数, 确定目标类型
④直线拟合。
⑤输出结果。

I=imread('runway.jpg');
imshow(I);
I1=I(:,:,1);%提取红色分量
I2=I(:,:,2);%提取绿色分量
I3=I(:,:,3);%提取蓝色分量
I1=histogram(I1);   %构造的函数
I2=histogram(I2);
I3=histogram(I3);
c=cat(3,I1,I2,I3);  %cat用于构造多维数组
subplot(1,2,1);imshow(I),title('原图');
subplot(1,2,2);imshow(c),title('均衡化后图像');

I=rgb2gray(c); %读入图像
J=mat2gray(I); %转换为灰度图像
[m,n]=size(J);
a=zeros(m,n);
for i=57:m;
    for j=1:n;
        a(i,j)=J(i,j);
    end
end
for i=1:55;
    for j=1:n;
        a(i,j)=0.35;
    end
end
J=a;
BW=edge(J); %获取边缘
figure;subplot(121);imshow(J);
subplot(122);imshow(BW);
theta=0:179; %角度
[R, xp]=radon(BW, theta); %Radon变换
figure;imagesc(theta, xp, R); %绘制各个角度变换结果
colormap(hot); %设置调色板
colorbar; %添加颜色条

在这里插入图片描述

image=imread('runway.jpg');
imagegray=rgb2gray(image);
subplot(131), imshow(image),title('原图');
R=image(:,:,1);
imagegray(R<200)=0;
imagegray (R>=200 )=255;
[r,c]=size(imagegray);
L=bwlabel(imagegray,8);
   for i=1:170 
       if sum(sum(L==i))<150
           L(L==i)=0;
       else
           L(L==i)=1;
       end
end
subplot(132) , imshow(L),title('跑道模板');
I=L;
J=mat2gray(I); %转换为灰度图像
[m,n]=size(J);
% subplot(131),imshow(image);
grayin=J;
thresh = graythresh(grayin);  
I2 = im2bw(grayin,190/255);
figure,imshow(I2);
theta=0:1:180;
[R1,X1]=radon(I2,theta);
%subplot(131),imagesc(theta,X1,R1),title('间隔10°投影的radon变换曲线');
colormap(hot); %设置调色板
colorbar; %添加颜色条
[N,M]=size(R1);
R2=R1;
R2(R1<6)=0;
result=iradon(R2,theta);
figure,imshow(result),title('123');

在这里插入图片描述
支持可以关注我哦,持续分享编写的代码。


http://www.niftyadmin.cn/n/744641.html

相关文章

Hyperledger Sawtooth Lake的PoET简介

警告这个工程包含一个运行在受信任的执行环境(例如:Intel Software Guard Extensions (SGX))的共识算法PoET&#xff08;时间消失证明&#xff09;。它发布了包含运行在SGX外部和模仿PoET算法行为的软件。在这种模式下他并不提供安全性。这个工程打算用于实验运用&#xff0c;我…

利用MATLAB实现对一幅彩色图像的高斯滤波(不采用MATLAB函数)。

利用rgb三通道分别高斯滤波的方案完成对彩色图像的高斯滤波 function gaosilvbo() Iimread(1.jpeg); I imnoise(I,gaussian); %加噪 imshow(I); I1I(:,:,1);%提取红色分量 I2I(:,:,2);%提取绿色分量 I3I(:,:,3);%提取蓝色分量 I1gaosi(I1); %构造的函数 I2gaosi(I2); I3gaos…

2021年金属非金属矿山(露天矿山)主要负责人模拟考试题及金属非金属矿山(露天矿山)主要负责人模拟考试系统

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2021年金属非金属矿山&#xff08;露天矿山&#xff09;主要负责人模拟考试题及金属非金属矿山&#xff08;露天矿山&#xff09;主要负责人模拟考试系统&#xff0c;包含金属非金属矿山&#xff08;露天矿山&#xf…

C. Polycarp Restores Permutation(思维)Codeforces Round #547 (Div. 3)

原题链接&#xff1a;https://codeforces.com/contest/1141/problem/C 题意&#xff1a;给你一个长度为n-1的p序列&#xff0c;其中p[i]a[i1]-a[i];求原排列a&#xff0c;要求a序列中[1,n]每个数字都只出现一次&#xff0c;若有&#xff0c;则输出此序列&#xff0c;若没有&am…

peer启动过程源码分析

由图片可以看出peer启动节点后先初始化一下日志 然后进入Server函数 // //peer node start 之后做日志初始化之后就进入到server函数 // func serve(args []string) error { // Parameter overrides must be processed before any paramaters are // cached. Failures to …

matlab图像处理-目标检测与前背景分离

根据背景图和前景图&#xff0c;提取目标并计数 方案如下&#xff1a; 1.将两张图像反色&#xff0c;并进行减法运算&#xff0c;突出目标区域 2.对图像进行二值化 3.对图像进行二值化&#xff0c;创建圆形结构元素&#xff0c;进行开运算、闭运算 4.提取圆形区域个数并输出 …

2021年保育员(高级)多少钱及保育员(高级)考试申请表

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2021年保育员&#xff08;高级&#xff09;多少钱及保育员&#xff08;高级&#xff09;考试申请表&#xff0c;包含保育员&#xff08;高级&#xff09;多少钱答案和解析及保育员&#xff08;高级&#xff09;考试申…

1141E - Superhero Battle(数学思维) Codeforces Round #547 (Div. 3)

原题链接&#xff1a;https://codeforces.com/contest/1141/problem/E 题意&#xff1a;超人与怪兽要进行多个个回合的战斗&#xff0c;每一个回合又细分为n分钟&#xff0c;在这一回合中每经过一分钟&#xff0c;怪兽会获得血量的加成或减少&#xff0c;问经过多少分钟后&…