图像数字水印+matlab程序 联系客服

发布时间 : 星期六 文章图像数字水印+matlab程序更新完毕开始阅读9414497ed1f34693dbef3eca

J=M(1:128,1:128); J(128:464,128:364)=0; J=rot90(J); J=rot90(J);

J(465:800,365:600)=0; J=rot90(J); J=rot90(J); N=N+Q*J; K=idct2(N); RGB(:,:,3)=K; imshow(RGB);

title('加入水印后图像'); subplot(3,3,8)

I=imcrop(RGB,[1 1 598 798]); imshow(I); subplot(3,3,9) %水印提取程序 subplot(3,3,6)

RGB1=imread('MM','jpg'); J=RGB1(:,:,3); X=J(1:799,1:599); N=dct2(I(:,:,3)); M=dct2(X); M=(N-M)/Q;

B=idct2(M(337:464,237:364)); Y=mat2gray(B); imshow(Y);

title('经放缩后提取的水印图像') 运行结果:

④水印全过程(经空域压缩检测水印)

程序源代码 %水印加入程序

Q=input('请输入放缩因子的值(建议小于1):Q=')

P=input('请输入您所希望的图像放缩系数值(建议取值不要小于0.5):P=') subplot(3,3,1)

RGB=imread('浙江台州学院','jpg'); imshow(RGB); title('原始图像'); subplot(3,3,2) imshow(RGB(:,:,3)); title('B分量'); subplot(3,3,3) N=dct2(RGB(:,:,3));

imshow(log(abs(N)),[]),colorbar; title('B分量能量分布'); subplot(3,3,4)

I=imread('lena1','bmp');

imshow(I);

title('灰度水印图像'); subplot(3,3,5) M=dct2(I);

imshow(log(abs(M)),[]),colorbar; title('水印能量分布'); subplot(3,3,7) J=M(1:128,1:128); J(128:364,128:400)=0; J=rot90(J); J=rot90(J);

J(365:600,401:750)=0; J=rot90(J); J=rot90(J); N=N+Q*J; K=idct2(N); RGB(:,:,3)=K; imshow(RGB);

title('加入水印后图像'); subplot(3,3,8)

I=imresize(RGB,P,'nearest'); imshow(I);

title('压缩P倍图像'); subplot(3,3,9)

J=imresize(I,1/P,'nearest'); imshow(J);

title('再放大P倍还原图像') %水印提取程序 subplot(3,3,6)

RGB1=imread('浙江台州学院','jpg'); N=dct2(J(:,:,3)); M=dct2(RGB1(:,:,3)); M=(N-M)/Q;

B=idct2(M(236:365,350:401)); Y=mat2gray(B);

imshow(Y);

title('经放缩后提取的水印图像'): 运行结果:

4.2 图像水印的dwt算法

%以下是水印提取算法 clear all; clc;

%保存时间

start_time=cputime; figure(1);

%读出原始图像 subplot(1,2,1); input=imread('2.jpg'); imshow(input); title('原始图像');

%读出水印图像 subplot(1,2,2);

watermarked_image=imread('watermarked.bmp'); imshow(watermarked_image,[]); title('水印图像');

%三色分离

input=double(input);

watermarked_image=double(watermarked_image); inputr=input(:,:,1);

watermarked_imager=watermarked_image(:,:,1); inputg=input(:,:,2);

watermarked_imageg=watermarked_image(:,:,2); inputb=input(:,:,3);