图像编码matlab代码

17日视图(30天)
玛丽lasz
玛丽lasz 2020年12月6日
评论道: 里克 2020年12月7日
你好
这段代码工作完美,但只是在左上角广场嵌入秘密消息。但我想embedd每一块。在每个bloock e我有64 x64块,有8×8块。我有点困惑但会感谢任何帮助,因为我是一个初学者水平的matlab。
马克= imbinarize (Watermark_Image);
marksize =大小(马克);
rm = marksize (1);% rowMat水印图像的行数
厘米= marksize (2);
图(1),次要情节(2、3、2);imshow (Watermark_Image)、标题(的水印图像);
T = dctmtx (8);
α= 105;%的比例因子,控制水印的强度,决定了频域系数进行修改
k1 = randn (1,8);%生成两个不同的随机序列,ruturns nxm矩阵正态分布的随机数
k2 = randn (1,8);
Dct_Image = blkproc (Y) [8],“dct2”);
Output_Image = Dct_Image;
E = 1:4096
i = 1: rm
j = 1:厘米
x =(张)* 8;
y = (j - 1) * 8;
如果马克(i, j) = = 1
k = k1;
其他的
k = k2;
结束
% Output_Image (x, y) = Dct_Image (x, y) +α* k;
Output_Image (x + 1, y + 8) = Dct_Image (x + 1, y + 8) +αk * (1);
Output_Image (x + 2, y + 7) = Dct_Image (x + 2, y + 7) +αk * (2);
Output_Image (x + 3 y + 6) = Dct_Image (x + 3 y + 6) +αk * (3);
Output_Image (x + 4, y + 5) = Dct_Image (x + 4, y + 5) +αk * (4);
Output_Image (x + 5, y + 4) = Dct_Image (x + 5, y + 4) +αk * (5);
Output_Image (x + 6, y + 3) = Dct_Image (x + 6, y + 3) +αk * (6);
Output_Image (x + 7, y + 2) = Dct_Image (x + 7, y + 2) +αk * (7);
Output_Image (x + 8, y + 1) = Dct_Image (x + 8, y + 1) +α* k (8);
结束
结束
结束
% firsttX = blkproc(之后,[8],“P1 * x”,面具);
resultY = uint8 (blkproc (Output_Image [8],“idct2”));
5个评论
里克
里克 2020年12月7日
我恢复了原来的帖子 谷歌缓存 。@Marie,不要删除你的问题的关键部分。

登录置评。

接受的答案

图像分析
图像分析 2020年12月6日
最简单的方法就是调整你的图像到一个64 x64缩略图,然后复制它做一个封面图片平铺的图像大小相同。您可以使用repmat (), imtile(),或蒙太奇()。或者看到我的演示。
我把水印bitplane 6所以你可以看到它复制在中间一点右列的图像。根据需要调整。
2的评论
玛丽lasz
玛丽lasz 2020年12月7日
早上好,
我没有尝试,因为它正在改变整个标准。我以后再试试按要求但现在试图解决这个问题。

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!