资源描述:
《图像纹理检索实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、图像纹理检索实验实验目的(1)掌握图像纹理检索的基本原理;(2)掌握通过小波变换进行图像纹理检索的过程;(3)熟悉运用matlab对图像纹理检索进行仿真。实验内容及结果一、选取三幅图像进行图像分割处理建立数据库,如下所示图1D4.gif图2D75.gif图3D108.gif分割后的十二幅图像依次命名为p1、p2、p3、p4、p5、p6、p7、p8、p9、p10、p11、p12。如下图所示:图4分割后的D4.gif图5分割后的D75.gif图6分割后的D108.gif二、图像纹理检索的基本原理:将上面三个图像分别分割为
2、四等份,并将分割后的十二副图像写入数据库,然后分别对其中的十二幅图像进行二级小波变换,求出各子带的均值,然后分别选取其中三副图像作为例图与数据库中包括自身的所有图像的均值进行对比,选出差值最小的四幅图,即为检索结果。三、选取例图及检索结果(1)选取p3作为例图时,检索结果为图7(2)选取p6作为例图时,检索结果为图8(3)选取p9作为例图时,检索结果为图9由此可见,所选取的例图经过检索后均能正确的检索出来。实验程序内容clear;clc;closeall;%分别对图像D4.gif,D75.gif,D108.gif进行
3、分割,分割为四等份A=imread('D4.gif');[M,N]=size(A);p1=A(1:fix(M/2),1:fix(N/2));imwrite(p1,'p1.gif');%均等的分成4等分,并将分割后的图像写入数据库p2=A(1:fix(M/2),fix(N/2):N);imwrite(p2,'p2.gif');p3=A(fix(M/2):M,1:fix(N/2));imwrite(p3,'p3.gif');p4=A(fix(M/2):M,fix(N/2):N);imwrite(p4,'p4.gif');
4、figure(1);subplot(2,2,1);imshow(p1);title('p1');subplot(2,2,2);imshow(p2);title('p2');subplot(2,2,3);imshow(p3);title('p3');subplot(2,2,4);imshow(p4);title('p4');B=imread('D75.gif');[M,N]=size(B);p5=B(1:fix(M/2),1:fix(N/2));imwrite(p5,'p5.gif');p6=B(1:fix(M/2),
5、fix(N/2):N);imwrite(p6,'p6.gif');p7=B(fix(M/2):M,1:fix(N/2));imwrite(p7,'p7.gif');p8=B(fix(M/2):M,fix(N/2):N);imwrite(p8,'p8.gif');figure(2);subplot(2,2,1);imshow(p5);title('p5');subplot(2,2,2);imshow(p6);title('p6');subplot(2,2,3);imshow(p7);title('p7');subplo
6、t(2,2,4);imshow(p8);title('p8');C=imread('D108.gif');[M,N]=size(C);p9=C(1:fix(M/2),1:fix(N/2));imwrite(p9,'p9.gif');p10=C(1:fix(M/2),fix(N/2):N);imwrite(p10,'p10.gif');p11=C(fix(M/2):M,1:fix(N/2));imwrite(p11,'p11.gif');p12=C(fix(M/2):M,fix(N/2):N);imwrite(p12,
7、'p12.gif');figure(3);subplot(2,2,1);imshow(p9);title('p9');subplot(2,2,2);imshow(p10);title('p10');subplot(2,2,3);imshow(p11);title('p11');subplot(2,2,4);imshow(p12);title('p12');%分别对分割后的12张图像做二级小波变换,并求各七个子带的均值fori=1:12b=imread(strcat('p',num2str(i),'.gif'));[c
8、a1,ch1,cv1,cd1]=dwt2(b,'haar');[ca2,ch2,cv2,cd2]=dwt2(ca1,'haar');CA2=mean(mean(ca2));CH2=mean(mean(ch2));CV2=mean(mean(cv2));CD2=mean(mean(cd2));CH1=mean(mean(ch1));CV1=mea