MATLAB基于DCT的水印嵌入及提取 离散余弦变换
(2013-06-09 10:23:47)
标签:
matlab水印dct水印嵌入水印提取 |
分类: MATLAB图像处理 |
clc
clear
close all
input = 'lena12.bmp';
Alpha = 0.03;
lfile = imread(input);
lfile = rgb2gray(lfile);
bfile = watermark( input, Alpha );
ex_watermark = exactwatermark(bfile,lfile);
子函数
%嵌入
function [result]=watermark( input, Alpha )
infile = imread(input);
[sizeX,sizeY,bitplane] = size(infile);
block = 8;
block_X_num = sizeX / block;
block_Y_num = sizeY / block;
D1 = zeros(sizeX,sizeY);
infile_gray = rgb2gray(infile);
subplot(2,3,1);imshow(infile_gray);title('Original image');
mark=imread('11.bmp');
subplot(2,3,2);imshow(mark);title('Watermark');
for m = 1 : block_X_num
%
end
subplot(2,3,3);imshow(D1,[]);title('vi" = vi * (1 + a *
xi)');
result=D1;
end
%提取
function [ result ] = exactwatermark(bfile,lfile)
[sizeX,sizeY] = size(bfile);
block = 8;
block_X_num = sizeX / block;
block_Y_num = sizeY / block;
result=zeros(block_X_num,block_Y_num);
bfile = double(bfile);
lfile = double(lfile);
for p = 1: block_X_num
end
figure; imshow(result,[]); title('提取出的水印');
%
end

加载中…