图像相关性SSD算法.docx

上传人:b****7 文档编号:9037040 上传时间:2023-02-02 格式:DOCX 页数:12 大小:970.63KB
下载 相关 举报
图像相关性SSD算法.docx_第1页
第1页 / 共12页
图像相关性SSD算法.docx_第2页
第2页 / 共12页
图像相关性SSD算法.docx_第3页
第3页 / 共12页
图像相关性SSD算法.docx_第4页
第4页 / 共12页
图像相关性SSD算法.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

图像相关性SSD算法.docx

《图像相关性SSD算法.docx》由会员分享,可在线阅读,更多相关《图像相关性SSD算法.docx(12页珍藏版)》请在冰豆网上搜索。

图像相关性SSD算法.docx

图像相关性SSD算法

以下内容是图像相关性方面设计算法的大体思路:

图像相关性研究

1.初始化一个图像窗口

窗口构造中定义的字段:

fenetre.centre=[];%图像窗口中心位置坐标i,j

fenetre.taille=[];%窗口大小

fenetre.sommets=[];%四个顶点的位置坐标i,j

fenetre.h;%比例因子

fenetre.wind_coul%三色图像区域的窗口框架矩阵

fenetre.wind_coul( :

 :

1)→R

fenetre.wind_coul( :

 :

2)→V

fenetre.wind_coul( :

 :

3)→B

fenetre.wind_point%两个矩阵与窗口像素的横纵位置对应

fenetre.wind_point( :

 :

1)→像素的横坐标i

fenetre.wind_point( :

 :

2)→像素的纵坐标j

fenetre.wind_coul和fenetre.wind_point的字段将会被函数InitFen初始化,这个函数可以显示图像和选择图像区域.用户可以选择窗口的中心位置并手动确定其大小.中心,大小和位置将会被初始化:

.

[fenetre]=InitFen(fenetre,Image);

figure

(2)

image(fenetre.wind_coul/255)

目的是要在另一幅图中找到一个窗口或图像的一局部。

我们将针对本研究,提供以下的书籍封面。

其他图像都是一样的,只是这些书发生了移动。

初始图像最后得到的图像效果

在原始图像中,我们用鼠标选择我们想要创立的窗口,见下列图中的蓝色方框。

在Matlab中,显示如下:

选择中心:

更新大小X(指数j):

W<------X+---->C

更新大小Y(指数i):

T<------Y+---->U

输出:

S

更新大小X(指数j):

W<------X+---->C

更新大小Y(指数i):

T<------Y+---->U

输出:

S

当按C时,窗口变长;

当按U时,窗口变宽;

当按S时,显示第二幅图像。

%%%%%%%%%%%%%%初始化图像窗口%%%%%%%%%%%%%%%

clearall

closeall

fichier1='acquisition160.jpg';

x1=imread(fichier1);

figure

(1)

imshow(x1);%示原始图像

fenetre.centre=[];

fenetre.taille=[];

fenetre.sommets=[];

fenetre.niv=4;

fenetre.h=0.5;

[fenetre]=InitFen(fenetre,x1);%创立窗口

figure

(2)

image(fenetre.wind_coul/255);%显示带窗口的图像

pause

用户选择的参考窗口

2.相关

我们测量一下原窗口与下面图像局部的差异。

一种方法:

f:

图像方程

g:

参数窗口方程

f和g函数代表图像颜色,因此我们有3局部〔RVB三色的概率〕.

f=(fr,fv,fb)etg=(gr,gv,gb).当SSD最小时,我们得到(u*,v*)的最正确答案:

SSD函数为了实现彩色图像的功能,并提出一种算法来跟踪图像序列中的一个对象。

%%%%%%%%%%%%%%%%%%%%%%%相关%%%%%%%%%%%%%%%%%%%%%%%%

min=1e8;

fichier2='acquisition165.jpg';

x2=imread(fichier2);

fenetrei=fenetre;

xx=fenetrei.centre

(1)

yy=fenetrei.centre

(2);

fori=1:

1:

20

fenetrei.centre

(1)=fenetrei.centre

(1)-1;

fenetrei.centre

(2)=yy;

forj=1:

1:

20

fenetrei.sommets=[];

fenetrei.centre

(2)=fenetrei.centre

(2)-1;

[fenetrei]=InitFen(fenetrei,x2);

figure(3)

clf;

image(fenetrei.wind_coul/255)

%pause(0.05)

%%%%%%%%%%相关计算%%%%%%%%%%%%%%%%%%%%%

f1=fenetre.wind_coul(:

:

1);

f2=fenetre.wind_coul(:

:

2);

f3=fenetre.wind_coul(:

:

3);

g1=fenetrei.wind_coul(:

:

1);

g2=fenetrei.wind_coul(:

:

2);

g3=fenetrei.wind_coul(:

:

3);

[n,m]=size(f1-g1);

sommefg=(f1-g1).^2+(f2-g2).^2+(f3-g3).^2;

SSD(i,j)=sum(sum(sommefg));%计算SSD

ifSSD(i,j)

fenetremin=fenetrei;%测试为了找到SSD的最小值

min=SSD(i,j);

end

end

end

%%%%%%%显示相关矩阵图像〔非标准〕%%%%%%%%

figure(4);

meshc(SSD);

%%%%%%%%%%显示相关图像误差%%%%%%%%%

erreur(:

:

1)=abs(fenetre.wind_coul(:

:

1)-fenetremin.wind_coul(:

:

1));

erreur(:

:

2)=abs(fenetre.wind_coul(:

:

2)-fenetremin.wind_coul(:

:

2));

erreur(:

:

3)=abs(fenetre.wind_coul(:

:

3)-fenetremin.wind_coul(:

:

3));

figure(5);

imshow(erreur/255);

相关图像误差

3.标准相关

两幅图像之间亮度变化的方程:

G(i,j)=a.f(i,j)+b

标准方程如下:

证明 :

 

 

Donc

 

%%%%%%%%%%%%%%%%%%%%%标准相关%%%%%%%%%%%%%%

f1=mean(mean(fenetre.wind_coul(:

:

1)));

f2=mean(mean(fenetre.wind_coul(:

:

2)));

f3=mean(mean(fenetre.wind_coul(:

:

3)));

Sf=sqrt((fenetre.wind_coul(:

:

1)-f1).^2+(fenetre.wind_coul(:

:

2)-f2).^2+(fenetre.wind_coul(:

:

3)-f3).^2);

fchapo1=(fenetre.wind_coul(:

:

1)-f1)./Sf;

fchapo2=(fenetre.wind_coul(:

:

2)-f2)./Sf;

fchapo3=(fenetre.wind_coul(:

:

3)-f3)./Sf;

fichier2='acquisition165.jpg';

x2=imread(fichier2);

%%%%%%%%x2亮度转型显示%%%%%%%%%%%%%

%%%%%%%%x3=f(x2)%%%%%%%%%%%%%%%%%%

a=1.2;

b=20;

x3=a.*x2+b;

fenetrei=fenetre;

xx=fenetrei.centre

(1)

yy=fenetrei.centre

(2);

fori=1:

20

fenetrei.centre

(1)=fenetrei.centre

(1)-1;

fenetrei.centre

(2)=yy;

forj=1:

20

fenetrei.sommets=[];

fenetrei.centre

(2)=fenetrei.centre

(2)-1;

[fenetrei]=InitFen(fenetrei,x2);

[fenetrej]=InitFen(fenetrei,x3);

figure(6)

clf;

figure(7)

clf;

%%%%%%%%%%%计算标准相关%%%%%%%%%%%%%%

g1=mean(mean(fenetrei.wind_coul(:

:

1)));

g2=mean(mean(fenetrei.wind_coul(:

:

2)));

g3=mean(mean(fenetrei.wind_coul(:

:

3)));

Sg=sqrt((fenetrei.wind_coul(:

:

1)-g1).^2+(fenetrei.wind_coul(:

:

2)-g2).^2+(fenetrei.wind_coul(:

:

3)-g3).^2);

gchapo1=(fenetrei.wind_coul(:

:

1)-g1)./Sg;

gchapo2=(fenetrei.wind_coul(:

:

2)-g2)./Sg;

gchapo3=(fenetrei.wind_coul(:

:

3)-g3)./Sg;

sommefg=(fchapo1-gchapo1).^2+(fchapo2-gchapo2).^2+(fchapo3-gchapo3).^2;

SSD(i,j)=sum(sum(sommefg));

ifSSD(i,j)

fenetremin=fenetrei;

min=SSD(i,j);

end

end

end

%%%%%%%%%%%%%%显示测试结果%%%%%%%%%%%%%%%%

figure(8);

meshc(SSD);

标准相关

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1