matlab 彩色图片拼接融合后如何消除拼接缝

matlab 彩色图片拼接融合后如何消除拼接缝,第1张

完整的m文件:%matlab图像拼接(四种方法)% 1、直接拼接,% 2、亮度调整后拼接,% 3、按距离比例融合,% 4、亮度调整后按距离比例融合 %流程:%1。读入左,右图,并取出重合部分,并转化为亮度图%2。分别把每点的亮度值相加,得到一个比值%3。把比值 乘以 右图%4。再把左 各 右图 拼接 clear;close all,clc;%读入原图 (左 右)img1=imread('2jpg');img2=imread('1jpg');% figure;imshow(img1);%显示% figure;imshow(img2); %查找它们的SIFT特征,并返回匹配点对---------------------特征匹配 开始[des1, des2] = siftMatch(img1, img2);des1=[des1(:,2),des1(:,1)];%左右(x和y)交换 为基础矩阵F 过滤匹配准备参数des2=[des2(:,2),des2(:,1)];% %用 基础矩阵F 过滤匹配的特征点对matchs = matchFSelect(des1, des2) %匹配位置索引(掩码)des1=des1(matchs,:);%取出内点des2=des2(matchs,:); % 画出匹配特征点的连接线(好点)drawLinedCorner(img1,des1,img2, des2) ;%------------------------------------------------------特征匹配 结束 [H,W,k]=size(img1);%图像大小l_r=W-des1(1,2)+des2

说明:该程序的作用是计算输入图像img的平均梯度值AVEGRAD

平均梯度值可以衡量图像细节反差表达的能力,是图形融合结果的一个评价算子之一

function AVEGRAD=avegrad(img)

%%%%%%%%%%%%%%%%%%%%%%%%%

%%%% this function is used to calculate

%%%% the average gradient of an image

%%%% editor: denghaibo Email:denghblzu07@gmailcom

%%%% date : 2009-4-15

%%%% 平均梯度可敏感地反映图像对微小细节反差表达的能力,可用来评价图像的模糊程度

%%%% 在图像中,某一方向的灰度级变化率大,它的梯度也就大。因此,可以用平均梯度值

%%%% 来衡量图像的清晰度,还同时反映出图像中微小细节反差和纹理变换特征。

img=double(img);

[M,N]=size(img);

gradval=zeros(M,N); %%% save the gradient value of single pixel

diffX=zeros(M,N); %%% save the differential value of X orient

diffY=zeros(M,N); %%% save the differential value of Y orient

tempX=zeros(M,N);

tempY=zeros(M,N);

tempX(1:M,1:(N-1))=img(1:M,2:N);

tempY(1:(M-1),1:N)=img(2:M,1:N);

diffX=img-tempX;

diffY=img-tempY;

diffX(1:M,N)=0; %%% the boundery set to 0

diffY(M,1:N)=0;

diffX=diffXdiffX;

diffY=diffYdiffY;

AVEGRAD=sum(sum(diffX+diffY));

AVEGRAD=sqrt(AVEGRAD/2);

AVEGRAD=AVEGRAD/((M-1)(N-1));

end

我也在找呢,发现一个,共同参考下吧。

以上就是关于matlab 彩色图片拼接融合后如何消除拼接缝全部的内容,包括:matlab 彩色图片拼接融合后如何消除拼接缝、matlab 图像融合后 怎么求图像的均值,标准差啊、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9772986.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存