码迷,mamicode.com
首页 > 其他好文 > 详细

14. matlab图像处理基础——数字水印置乱、版权保护、视频处理

时间:2020-05-17 17:52:28      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:obj   info   tle   读取   嵌入   write   col   div   基本   

1、数字水印置乱

技术图片

clc;
clear all;
o = imread(‘lena.jpg‘);
subplot(2,3,1),imshow(o),title(‘原始图像‘);
w = imread(‘shuiyin.png‘);
subplot(2,3,2),imshow(w),title(‘原始水印‘);
[m,n] = size(w);
c = linspace(0,0,m*n);
c(1) = 0.23;
for i = 2:m*n
    c(i) = 1-2*c(i-1)*c(i-1);
end
[cI,b] = sort(c);
w1 = w;
i = 1:m*n;
w1(i) = w(b(i));
subplot(2,3,3),imshow(w1),title(‘置乱水印‘);
ow = bitset(o,1,w1);
subplot(2,3,4),imshow(ow),title(‘含水印图片‘);
wG = bitget(ow,1);
subplot(2,3,5),imshow(double(wG)),title(‘提取出来的水印‘);
wo = w;
wo(b(i)) = wG(i);
subplot(2,3,6),imshow(double(wo)),title(‘复原后的水印‘);

技术图片

2、版权保护

(1)基本原理

技术图片

技术图片

(2)matlab实现:

clc;
clear all;
% 读入原始图像和版权图像
o = imread(‘lena.jpg‘);
subplot(2,2,1),imshow(o),title(‘原始图像‘);
w = imread(‘shuiyin.png‘);
subplot(2,2,2),imshow(w),title(‘版权图像‘);
% 原始水印大小
[m,n] = size(w);
% 生成位置矩阵
e = linspace(0,0,m*n);
e(1) = 0.53;
for i = 2:m*n
    e(i) = 1-2*e(i-1)*e(i-1);
end
e = mod(fix(e*10000000),4)+1;
% 嵌入版权图像
i = 1:m*n;
ow = o;
ow(i) = bitset(o(i),e(i),w(i));
subplot(2,2,3),imshow(ow),title(‘含版权图像‘);
% 根据位置矩阵提取版权图像
wG = w;
wG(i) = bitget(ow(i),e(i));
subplot(2,2,4),imshow(double(wG)),title(‘提取出来的版权图像‘);

技术图片

3、视频处理

(1)视频转图像

技术图片

技术图片

(2)图像转视频

技术图片

  ① 创建并打开视频文件

       技术图片

  ② 在循环中获取图像帧并写入视频

  技术图片

  ③ 循环结束后关闭视频文件句柄:close(writerObj);

(3)视频插入帧(前+后+随意位置)

       技术图片

(4)绘制图形动画

       技术图片

(5)视频帧置乱

  ① 读取数字,构成视频

       技术图片

  ② 生成置乱用序列(混沌系统)

  ③ 视频帧置乱

  技术图片

  ④ 视频帧逆置乱

  技术图片

14. matlab图像处理基础——数字水印置乱、版权保护、视频处理

标签:obj   info   tle   读取   嵌入   write   col   div   基本   

原文地址:https://www.cnblogs.com/fengxb1213/p/12905861.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!