收藏 分享(赏)

图像匹配与识别.doc

上传人:精品资料 文档编号:10635106 上传时间:2019-12-10 格式:DOC 页数:14 大小:425.13KB
下载 相关 举报
图像匹配与识别.doc_第1页
第1页 / 共14页
图像匹配与识别.doc_第2页
第2页 / 共14页
图像匹配与识别.doc_第3页
第3页 / 共14页
图像匹配与识别.doc_第4页
第4页 / 共14页
图像匹配与识别.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、甘肃政法学院本科生实验报告( 五 )姓名:学院:专业: 班级: 实验课程名称: 数字图像处理技术实验日期: 2016 年 月 日开课时间:2015-2016 学年 第二 学期甘肃政法学院实验管理中心印制实验题目 图像匹配与识别图像 Matlab 数字水印设计小组合作姓名 班级 学 号一、实验目的1、 图像匹配与识别2、 图像 Matlab 数字水印设计二实验环境Matlab7.0三、实验内容与步骤一、基于 matlab 做的数字水印,文件包括源代码及原图像和加入水印后的图像图像数字水印技术是指用信号处理的方法在图像数据中嵌入隐含标记,水印分为可感知和不易感知两种。1、可感知水印。这是一种可以看

2、见的水印,就像插入或覆盖在图像上的标识。它与可视纸上的水印相似,这类水印一般选用较淡或半 透明图案。它既可以证明作品的归属,又不妨碍对作品的欣赏,主要应用于标识那些可在图像数据库或 Internet 上得到的图像预览,防止这些图像被作为商业用途。2、不易感知水印。这是一种应用更加广泛的水印,主要用来鉴别产品的真伪及产权保护。人们在感觉上的冗余是这种水印存在的前面与可视水印相反,它加在图像当中从表面上是不易察觉的。由于数字产品都是为了满足感官需求,这就要求它的水印不可破坏其欣赏价值与使用价值,要求水印不引人注目。虽然不易感知的数字水印不能阻止合法产品被非法复制,但是当发生版权纠纷时,所有者可以从

3、中提取出标记,从而证明物品为某人所有。二、图像匹配与识别图像识别中的模式识别是一种从大量信息和数据出发,利用计算机和数学推理的方法对形状、模式、曲线、数字、字符格式和图形自动完成识别、评价的过程。图形辨别是图像识别技术的一个重要分支,图形辨别指通过对图形的图像采用特定算法,从而辨别图形或者数字,通过特征点检测,精确定位特征点,通过将模板与图形或数字匹配,根据匹配结果进行辨别。图像识别技术是人工智能的一个重要领域,人们提出了不同的图像识别模型。例如模板匹配模型。这种模型认为,识别某个图像,必须在过去的经验中有这个图像的记忆模式,又叫模板。当前的刺激如果能与大脑中的模板相匹配,这个图像也就被识别了

4、。图像识别中的模式识别(PatternRecognition),是一种从大量信息和数据出发,在专家经验和已有认识的基础上,利用计算机和数学推理的方法对形状、模式、曲线、数字、字符格式和图形自动完成识别、评价的过程。四、实验过程与分析水印处理:clear all; close all; clc;M=256;%原图像长度N=64; %水印长度filename1,pathname=uigetfile(*.*,select the image); image1=imread(num2str(filename1);subplot(2,2,1);imshow(image1); title(original

5、 image); % orginal image for watermarkingimage1=double(image1);imagew=imread(dmg2.tif);subplot(2,2,2);imshow(imagew);title(original watermark); %original watermark%嵌入水印ca,ch,cv,cd = dwt2(image1,db1);cas,chs,cvs,cds = dwt2(ca,db1);for i=1:Nfor j=1:Nif imagew(i,j)=0a=-1;elsea=1;endCa(i,j)=cas(i,j)*(1+

6、a*0.03);endendIM= idwt2(Ca,chs,cvs,cds,db1) ;markedimage=double(idwt2(IM,ch,cv,cd,db1);%显示嵌入后水印图像subplot(2,2,3);colormap(gray(256);image(markedimage);title(marked image);imwrite(markedimage,gray(256),watermarked.bmp,bmp);%提取水印image1=imread(num2str(filename1);image1=double(image1);imaged=imread(water

7、marked.bmp);ca,ch,cv,cd = dwt2(image1,db1);cas,chs,cvs,cds=dwt2(ca,db1);caa,chh,cvv,cdd=dwt2(imaged,db1);caas,chhs,cvvs,cdds=dwt2(caa,db1);for p=1:Nfor q=1:Na=caas(p,q)/cas(p,q)-1;if a0W(p,q)=0;elseW(p,q)=255;endendend%显示提取的水印subplot(2,2,4);colormap(gray(256);image(W);title(从含水印图像中提取的水印);imwrite(W,g

8、ray(256),watermark.bmp,bmp);显示图像的傅立叶变换 FFT 及逆变换 IFFT。I=imread(lena.bmp);subplot(1,3,1), imshow(uint8(I); % 显示原始图像J=fft2(I); % 图像 FFT 变换B=fftshift(J); % 显示 FFT 变换结果subplot(1,3,2), imshow(log(abs(B),); H=ifft2(J); %使用逆变换复原图像并显示结果subplot(1,3,3), imshow(uint8(H); 计算并显示图像的离散余弦变换 DCT 及逆变换 IDCT。程序代码如下:I=im

9、read(lena.bmp) ; subplot(1,4,1), imshow(uint8(I);)% 显示原始图像J=dct2(I); %图像 DCT 变换K=idct2(J);subplot(1,4,2),imshow(uint8(K);%使用逆变换复原图像J(abs(J)10)=0; %将较小的系数设置为 0M=idct2(J);subplot(1,4,3),imshow(uint8(M);%使用逆变换部分复原图像J(abs(J)100)=0; %将较小的系数设置为 0N=idct2(J);subplot(1,4,4),imshow(uint8(N);%使用逆变换部分复原图像二值图像匹配

10、m=imread(filepath); %读取原图figure,imshow(im,);title(Raw); %显示原图im=im2bw(im); %转二值图像figure,imshow(im,),title(BW); %显示二值图像im2=imfill(im,holes); %填充im3=bwperim(im2); %轮廓提取figure,imshow(im2,); title() %显示figure,imshow(im3,);图像识别:clear;clc;reference_img=imread(optical1.tif);%提取原始图片作为基准target_img=imread(opt

11、ical2.tif);%要求进行匹配的图像subplot(2,3,1);%显示原始图像imshow(reference_img);title(原始图像);subplot(2,3,2);%显示进行匹配的图像imshow(target_img);title(目标图像);Ix,Iy=size(target_img);%取出图片大小x=160,103,102,209;%自己选定的特征点y=116,246,160,299;u=87,35,34,141;v=21,151,66,204;Px=polyfit(x,u,1);%映射函数求解Py=polyfit(y,v,1);for i=1:Ixfor j=1:

12、Iym=i*Px(1,1)+Px(1,2);%映射函数n=j*Py(1,1)+Py(1,2); m_integer=floor(m);%对映射值进行取整n_integer=floor(n);m_decimal=m-m_integer;%对映射值取小数n_decimal=n-n_integer;if(ge(m_integer,Ix)|ge(n_integer,Iy)|lt(m_integer,0)|lt(n_integer,0)|m_integer=0|n_integer=0)%判断映射点是否满足条件result_img(i,j)=0;result_img3(i,j)=0;elseresult_

13、img(i,j)=target_img(m_integer,n_integer);%没有进行插值result_img3(i,j)=(1-m_decimal)*(n_decimal*target_img(m_integer,n_integer+1)+(1-n_decimal)*target_img(m_integer,n_integer)+m_decimal*(n_decimal*target_img(m_integer+1,n_integer+1)+(1-n_decimal)*target_img(m_integer+1,n_integer);%双线性插值endif result_img(i,

14、j)=0%把没有进行插值图像和原始图像进行组合result_img2(i,j)=reference_img(i,j);else result_img2(i,j)=result_img(i,j);endif result_img3(i,j)=0%把插值后图像和原始图像进行组合result_img4(i,j)=reference_img(i,j);elseresult_img4(i,j)=result_img3(i,j);endendendsubplot(2,3,3);%显示未插值图像匹配imshow(result_img,);title(未插值图像匹配);subplot(2,3,4);%显示未插

15、值图像匹配组合imshow(result_img2,);title(未插值图像匹配组合)subplot(2,3,5);%显示双线性插值后图像匹配imshow(result_img3,);title(双线性插值后图像匹配);subplot(2,3,6);%显示双线性插值后图像匹配组合imshow(result_img4,);title(双线性插值后图像匹配组合);值值值值 值值值值 值值值值值值值值值值值值值值值值 值值值值值值值值值值值值值值值值值值值值值五、实验总结通过实例分析了利用 MATLAB 实现数字水印系统所涉及的主要技术。需要注意的是,最主要的不是让掌握数字水印的嵌入和提取方法,而是借助这一实例让掌握如何利用 MATLAB 实现数字图像处理的相关算法,从而加深对数字图像处理技术的理解。图像的模式识别对数字图像处理技术要求较高,不同的模式识别用不同的算法函数,程序代码。

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报