基于Matlab的图像特征点提取应用

close all;                  %关闭当前所有图形窗口,清除工作空间所有变量
clear all;
clc;

%%%%剪切%%%%
[A,map]=imread('左侧图.png');  %读入图像
[B,map]=imread('右侧图.png');  %读入图像
rect1=[96 40 120 166];           %定义剪切区域
rect2=[70 2 120 166];           %定义剪切区域
X1=imcrop(A,rect1);              %进行图像剪切
X2=imcrop(B,rect2);              %进行图像剪切
set(0,'defaultFigurePosition',[100,100,1000,500]);%修改图形图像位置的默认设置
set(0,'defaultFigureColor',[1 1 1])%修改图形背景颜色的设置
figure(1);
subplot(221),imshow(A); %显示原图像
rectangle('Position',rect1,'LineWidth',2,'EdgeColor','r') %显示图像剪切区域
subplot(222),imshow(B); %显示原图像
rectangle('Position',rect2,'LineWidth',2,'EdgeColor','r') %显示图像剪切区域
subplot(223),imshow(X1);   %显示剪切的图像             
subplot(224),imshow(X2);   %显示剪切的图像

%%%单色化%%%
M1=X1;                            %将剪切图像X1赋值给M1
M1(:,:,1)=0;                       %将原图像变成单色图像,保留蓝色
M1(:,:,2)=0; 

M2=X2;                            %将剪切图像X2赋值给M2
M2(:,:,1)=0;                       %将原图像变成单色图像,保留蓝色
M2(:,:,2)=0; 

figure(2);
subplot(221),imshow(M1);
subplot(222),imshow(M2);

%%%灰度化%%%
H1=rgb2gray(M1);
H2=rgb2gray(M2);
subplot(223),imshow(H1);
subplot(224),imshow(H2);

%%%提取标志点%%%
H3=H1;
H4=H2;
i = 0;
while i<=121*167
    [r1] = find(H3<=25);  %小于阈值的部分,找出M1中小于等于25的位置
    [r2] = find(H3>25);   %大于阈值的部分
    
    [r3] = find(H4<=25);  %小于阈值的部分,找出M2中小于等于25的位置
    [r4] = find(H4>25);   %大于阈值的部分
    i = i+1;
end
H3(r1) = 0;   %将小于阈值的部分赋值为0
H3(r2) = 255;   %将大于阈值的部分赋值为255   这两步是将图像转换成二值图像

H4(r3) = 0;   %将小于阈值的部分赋值为0
H4(r4) = 255;   %将大于阈值的部分赋值为255   这两步是将图像转换成二值图像
figure(3);
subplot(221);imshow(H3,[]);
subplot(222);imshow(H4,[]);

%保存图像
imwrite(X1,'左侧剪切图.png');  %保存X1
imwrite(X2,'右侧剪切图.png');  %保存X2

imwrite(M1,'左侧单色图.png');  %保存M1
imwrite(M2,'右侧单色图.png');  %保存M2

imwrite(H1,'左侧单色灰度图.png');  %保存H1
imwrite(H2,'右侧单色灰度图.png');  %保存H2

imwrite(H3,'左侧标记二值图.png');  %保存H3
imwrite(H4,'右侧标记二值图.png');  %保存H4

  • 5
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亦我飞也

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值