山东建筑大学实验报告学院:信电学院班级:电信112姓名:王丙全学号:2011081245课程:数字图像处理实验日期:2014年11月28日成绩:1摘要随着数字技术和因特网的发展,各种形式的多媒体数字作品被通过网络进行传输,然而数字作品的便利性和不安全性是并存的,它可以低成本、高速度地被复制和传播,这样就为创造者和使用者都提供了很大的便利,但这些特性也容易被盗版者所利用,因而采取多种手段对数字作品进行保护、对侵权者进行惩罚已经成为十分迫切的工作。除了与传统作品版权保护相类似的法律和管理手段外,还应该针对数字作品本身的特点为其提供技术上的保护。数字水印技术的研究就是在这种应用要求下逐步发展起来成为国际上研究热门的课题。一、设计目的和要求根据已知设计要求分析监控视频中道路车流量检测系统设计功能,确定监控视频中道路车流量检测系统设计的方法,画出流程图,编写实现程序,并进行调试,完成系统软件设计。根据设计题目的要求,请设计卡口监控系统中图像的防伪算法,选择适当的保护信息做为水印,实现水印的嵌入、提取及真伪的鉴别。二、设计原理1.载体图像和水印的选取卡口监控系统中,通常对抓拍得到的数字信息以图像的形式存储起来,以便日后的调查取证,为此载体图像可选择抓拍到的图像,通常在图像中会包含具体的违章信息。水印的选择主要考虑两个方面:(1)用于图像的真实性鉴别,通常考虑嵌入抓拍机构的特有信息,比如印章图像,以便于图像在传输中遭受到某种篡改后,还能通过提取的水印来验证图像来源的真实性。(2)用于防止图像篡改,抓拍的图像在传输过程中可能会受到恶意篡改,例如更改违章车辆的车牌号码等信息,此时可以考虑把抓拍图像中的具体违章信息作为水印。山东建筑大学实验报告学院:信电学院班级:电信112姓名:王丙全学号:2011081245课程:数字图像处理实验日期:2014年11月28日成绩:22.嵌入、提取方法选择水印算法时,一般要满足:安全性、隐蔽性和鲁棒性。(1)由于抓拍图片均为彩色图像,而对彩色图像进行处理较为复杂,建议首先对图片进行灰度化处理。(2)嵌入位置选取。水印嵌入通常可选择在空间域或变换域进行。空间域方法是直接修改像素值。该类方法比较简单,但嵌入的水印信息不能太多,鲁棒性比较差;变换域方法首先对图像进行某种可逆的数学变换,然后对变换域的系数进行某种修改,再进行逆变换得到图像,目前大多数水印算法都采用傅立叶变换(FFT)、离散余弦变换(DCT)和离散小波变换(DWT)。本次设计建议选择DCT域嵌入水印。图像在经过DCT变换后,DCT系数分布可分为低、中、高三个频带。其中交流分量的低频系数分布在矩阵的左上角,是三个频带中系数值较大的区域,集中了图像的大部分能量,中频、高频依次向外分布,如下图所示:DCT变换分布图将水印嵌入到高频中不易被人眼所察觉,然而经过图像处理或攻击,极易产生水印数据损失;低频中集中了图像的绝大部分能量,相对来说拥有更大的嵌入容量,对于恶意攻击的鲁棒性较好,但嵌入时要考虑对图像隐蔽性的影响。设计中,要根据卡口监控系统的需要,选择嵌入在DCT变换的低频、中频或高频系数上。(3)嵌入算法常见的嵌入算法有加性、乘性规则、位平面、系数交换法等。乘性规则和系数交换法在时空领域中引起的变动较大,这里建议选择加性或位平面法。山东建筑大学实验报告学院:信电学院班级:电信112姓名:王丙全学号:2011081245课程:数字图像处理实验日期:2014年11月28日成绩:3加性规则通常在加性规则中都带有嵌入因子,以调整所嵌入水印的不可见性和鲁棒性:awxxw其中}0,{Nixxi为原始载体的变换系数(如DCT变换系数){,0}wwixxiN为含水印图像的系数,}0,{Niwwi为水印,a为嵌入强度因子。对于嵌入强度a的选择,通常要求嵌入强度要满足不可见性,兼顾鲁棒性,嵌入强度会影响含水印图像的质量,通常用psnr来衡量,人眼视觉可以接受的psnr值灰度约为32。位平面最初的位平面方法为空域的最低有效位(LSB)和最高有效位(MSB),LSB的鲁棒性较差,MSB的不可见性差,可以采取折中方案,嵌入在中间位平面,进而扩展到图象变换系数的位平面嵌入方法。(4)提取算法数字水印的提取是嵌入的逆过程,例如上面的加性嵌入,相应的水印提取应该为()/wwxxa。3.算法分析通过编码实现水印的嵌入,并在无攻击测试的情况下进行水印的提取,通过主观的人眼观察和峰值信噪比(PSNR)分析水印的隐蔽性,比较原始水印和提取水印的相似程度(相似度NC)。峰值信噪比(PSNR)在一定程度上反应图像数据处理前后的变化情况,一般用它作为评价水印嵌入过程造成图像失真的标准。其计算方法如下:MSEPSNR/255lg102MiNjjisjiNMMSEs11'),(),(*12这里的M、N为行像素及列像素数。),('jis为嵌有水印的数字图像,),(jis为没有嵌入水印的原始图像。山东建筑大学实验报告学院:信电学院班级:电信112姓名:王丙全学号:2011081245课程:数字图像处理实验日期:2014年11月28日成绩:4相似度函数NC为:,2,'(,)(,)=(,)uvuvwuvwuvNCuvw其中'(,)wuv表示提取的水印,(,)wuv表示原始水印,NC(0~1)越大说明图像之间的相似度越大。4.抗攻击性能分析对含水印图像进行加噪、压缩、剪裁、替换等常规处理,提取水印,检测提取水印与原始水印的相似度,分析算法抵抗各种攻击的性能。附:主要的matlab函数(1)数据输入输出函数imread()和imwrite():可以读写bmp、jpg/jpeg、tif/tiff、png、hdf、pcx、wxd格式文件。(2)图像显示imshow():显示一幅图像;imfinfo():可以得到读入图像的信息。如文件的大小、格式、格式版本号、图像的高度、宽度、颜色类型(真彩色,灰度图还是索引图)等。(3)变换函数fft2():计算二维快速傅立叶变换ifft2():计算二维傅立叶变换的反变换dct2():计算二维离散余弦变换idct2():计算二维离散余弦反变换blkproc():分块处理dwt2():一层二维离散小波变换idwt2():一层二维离散小波反变换(4)攻击函数旋转:rotate()可以对图像进行任意角度的旋转;剪裁:imcrop()可以按精确定位的各点坐标进行剪裁;山东建筑大学实验报告学院:信电学院班级:电信112姓名:王丙全学号:2011081245课程:数字图像处理实验日期:2014年11月28日成绩:5滤波:filter()和filter2()可实现对一维信号和二维信号的滤波;抖动:dither()对图像进行抖动;抖动攻击考验水印鲁棒性的一个很好的攻击;jpeg压缩:imwrite()中jpg和quality参数能对图像进行可控jpg压缩;加噪声:imnoise()可以对图像加入各种噪声,如白噪声、椒盐噪声等。。三、设计内容1、添加不同位置水印进行效果对比1.1、方案设计流程图1.2、编程与调试clearall;clc;start_time=cputime;%%%%%%%%%%%%读取水印图像%%%%%%%%I=imread('C:\DocumentsandSettings\vlab\桌面\DCT_watermark\333.bmp');I=rgb2gray(I);I=double(I)/255;I=ceil(I);%%%%%%%%%%显示水印图像%%%%%%%%%%%%%figure(1);subplot(2,3,1);imshow(I),title('水印图像')dimI=size(I);rm=dimI(1);cm=dimI(2);%%%%%%%%%%%%%%%5以下生成水印信息%%mark=I;读取水印图像生成水印序列读取载体图象嵌入水印改变水印位置进行比较山东建筑大学实验报告学院:信电学院班级:电信112姓名:王丙全学号:2011081245课程:数字图像处理实验日期:2014年11月28日成绩:6alpha=50,k1=randn(1,8);k2=randn(1,8);a0=imread('C:\DocumentsandSettings\vlab\桌面\DCT_watermark\lena.bmp');psnr_cover=double(a0);subplot(2,3,2),imshow(a0,[]),title('载体图像');[r,c]=size(a0);cda0=blkproc(a0,[8,8],'dct2');%%%%%%%%%%%%%%%%%%%%%嵌入%%%%%%%%%%cda1=cda0;%cda1=256_256fori=1:rm%i=1:32forj=1:cm%j=1:32x=(i-1)*8;y=(j-1)*8;ifmark(i,j)==1k=k1;elsek=k2;endcda1(x+1,y+8)=cda0(x+1,y+8)+alpha*k(1);cda1(x+2,y+7)=cda0(x+2,y+7)+alpha*k(2);cda1(x+3,y+6)=cda0(x+3,y+6)+alpha*k(3);cda1(x+4,y+5)=cda0(x+4,y+5)+alpha*k(4);cda1(x+5,y+4)=cda0(x+5,y+4)+alpha*k(5);cda1(x+6,y+3)=cda0(x+6,y+3)+alpha*k(6);cda1(x+7,y+2)=cda0(x+7,y+2)+alpha*k(7);cda1(x+8,y+1)=cda0(x+8,y+1)+alpha*k(8);endend%%%%%嵌入水印后图像%%%%%%%%%%%%%%a1=blkproc(cda1,[8,8],'idct2');a_1=uint8(a1);imwrite(a_1,'C:\DocumentsandSettings\vlab\桌面\DCT_watermark\withmark.bmp','bmp');subplot(2,3,3),imshow(a1,[]),title('嵌入水印后图像');disp('嵌入水印处理时间');embed_time=cputime-start_time,水印嵌在中频位置,如图1山东建筑大学实验报告学院:信电学院班级:电信112姓名:王丙全学号:2011081245课程:数字图像处理实验日期:2014年11月28日成绩:7图1(2)水印嵌在低频位置,如图2图2(3)水印嵌在高频位置,如图3山东建筑大学实验报告学院:信电学院班级:电信112姓名:王丙全学号:2011081245课程:数字图像处理实验日期:2014年11月28日成绩:8图32、添加不同强度水印进行效果对比2.1、方案设计流程图2.2、编程与调试clearall;clc;start_time=cputime;%%%%%%%%%%%%读取水印图像%%%%%%%%I=imread('C:\DocumentsandSettings\vlab\桌面\DCT_watermark\333.bmp');I=rgb2gray(I);I=double(I)/255;I=ceil(I);%%%%%%%%%%显示水印图像%%%%%%%%%%%%%读取水印图像生成水印序列读取载体图象嵌入水印改变水印强度进行比较山东建筑大学实验报告学院:信电学院班级:电信112姓名:王丙全学号:2011081245课程:数字图像处理实验日期:2014年11月28日成绩:9figure(1);subplot(2,3,1);imshow(I),title('水印图像')dimI=size(I);rm=dimI(1);cm=dimI(2);%%%%%%%%%%%%%%%5以下生成水印信息%%mark=I;alpha=10,k1=randn(1,8);k2=randn(1,8);a0=imread('C:\DocumentsandSettings\vlab\桌面