Matlab图像匹配与Retinex图像增强

本文探讨了基于Matlab的图像匹配方法和Retinex理论在图像增强中的应用。Retinex理论通过分解反射和入射光图像进行图像增强,包括对数转换、高斯滤波、高频增强等步骤。多尺度Retinex算法通过加权求和进一步提升图像质量,同时介绍了色彩恢复因子以减少噪声和色彩失真。博客提供了详细过程和源码链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Github个人博客:https://joeyos.github.io

基于向量相关的图像匹配的Matlab实现

这里写图片描述

close all;clear all;clc;  
reource_p=imread('1.jpg');%含模板的图像 
reource_p_sub=imread('2.jpg'); %模板图像
if size(reource_p,3)==3
    reource_p=rgb2gray(reource_p);
end
if size(reource_p_sub,3)==3
    reource_p_sub=rgb2gray(reource_p_sub);
end
[m,n]=size(reource_p);  
[m0,n0]=size(reource_p_sub);  
result=zeros(m-m0+1,n-n0+1);  
vec_sub = double( reource_p_sub(:) );  
norm_sub = norm( vec_sub );  
for i=1:m-m0+1  
    for j=1:n-n0+1  
        subMatr=reource_p(i:i+m0-1,j:j+n0-1);  
        vec=double( subMatr(:) );  
        result(i,j)=vec'*vec_sub / (norm(vec)*norm_sub+eps);  
    end  
end  
%找到最大相关位置  
[iMaxPos,jMaxPos]=find( result==max( result(:)));  
figure,  
subplot(121);imshow(reource_p_sub),title('匹配模板子图像');  
subplot(122);  
imshow(reource_p);  
title('标记出匹配区域的原图'),  
hold on  
plot(jMaxPos,iMaxPos,'*');%绘制最大相关点  
%用矩形框标记出匹配区域  
plot([jMaxPos,jMaxPos+n0-1],[iMaxPos,iMaxPos]);  
plot([jMaxPos+n0-1,jMaxPos+n0-1],[iMaxPos,iMaxPos+m0-1]);  
plot([jMaxPos,jMaxPos+n0-1],[iMaxPos+m0-1,iMaxPos+m0-1]);  
plot([jMaxPos,jMaxPos],[iMaxPos,iMaxPos+m0-1]);

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值