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


    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)视频帧置乱

      ① 读取数字,构成视频

           

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

      ③ 视频帧置乱

      

      ④ 视频帧逆置乱

      

  • 相关阅读:
    Android应用程序与SurfaceFlinger服务的关系概述和学习计划【转】
    Linux内核的LED设备驱动框架【转】
    电源管理-4种休眠方式状态
    linux 管道,输出重定向,后端执行
    find 和grep的区别
    linux启动脚本
    linux启动介绍
    sudo的使用
    ps aux|grep *** 解释
    php图片防盗链
  • 原文地址:https://www.cnblogs.com/fengxb1213/p/12905861.html
Copyright © 2020-2023  润新知