zoukankan      html  css  js  c++  java
  • 11. matlab图像处理基础——图像抖动、数字水印、图像融合

    1、图像抖动

      处理结果 = dither(原始图像)

    %% 图像抖动
    I = imread('cameraman.tif');
    subplot(1,2,1),imshow(I);
    J = dither(I);
    subplot(1,2,2),imshow(J);
    

    2、数字水印

    (1)嵌入水印的过程:

       

         

    (2)具体实现

    嵌入:

      含水印图像 = Bitset(载体图像,嵌入位置,待嵌入信息)

      

    提取:

      水印图像 = Bitget(含水印载体图像,提取信息的位置)

           

    %% 数字水印
    % 嵌入
    o = imread('lena.jpg');
    size(o);
    % imshow(o);
    w = imread('shuiyin.png');
    size(w);
    % imshow(w);
    ow = bitset(o,1,w);
    subplot(2,2,1),imshow(o,[]);title('原始载体图像');
    subplot(2,2,2),imshow(w,[]);title('水印图像');
    subplot(2,2,3),imshow(ow,[]);title('含水印载体图像');
    
    % 提取
    wGet = bitget(ow,1);
    size(wGet)
    subplot(2,2,4),imshow(wGet,[]);title('提取的水印图像');
    

    3、图像融合

    (1)加法融合

    %% 加法融合
    o1 = imread('lena.jpg');
    o2 = imread('shuiyin.png');
    r = o1*0.6+o2*0.2;
    subplot(1,3,1),imshow(o1);
    subplot(1,3,2),imshow(o2);
    subplot(1,3,3),imshow(r);
    

    (2)小波融合

    ① 融合过程如下:
         

    ② 实现操作:

    %% 小波融合
    o1 = imread('cameraman.tif');
    o2 = imread('rice.png');
    % 正向小波分解
    [o1c,o1s] = wavedec2(o1,1,'haar');
    [o2c,o2s] = wavedec2(o2,1,'haar');
    % 小波层面融合
    rw = o1c+o2c;
    % 逆向小波分解
    result = waverec2(rw,o1s,'haar');
    % 显示
    subplot(1,3,1),imshow(o1);
    subplot(1,3,2),imshow(o2);
    subplot(1,3,3),imshow(result,[]);
    

    (3)小波大数融合

    %% 小波大数融合
    a = imread('1.png');
    b = imread('2.png');
    % 正向小波分解
    [Ca,Sa] = wavedec2(a,3,'haar');
    [Cb,Sb] = wavedec2(b,3,'haar');
    Ra = zeros(size(Ca));
    
    for i = 1:size(Ca,2)
        if Ca(i)>Cb(i)
            Ra(i)=Ca(i);
        else
            Ra(i)=Cb(i);
        end
    end
    
    result = waverec2(Ra,Sa,'haar');
    
    subplot(1,3,1),imshow(a);
    subplot(1,3,2),imshow(b);
    subplot(1,3,3),imshow(unit8(result),[]);
    

  • 相关阅读:
    ext导出表格数据到excel中
    Oracle 外连接和 (+)号的用法
    通过json取树
    最简单的extjs 树
    extjs放在本地tomcat中部署运行
    extjs viewport panel tabPanel tree
    jsp注意的问题(初学)
    查看进程的路径,不用第三方软件
    vc常用技巧
    表单中单选按钮的有效性控制问题
  • 原文地址:https://www.cnblogs.com/fengxb1213/p/12885297.html
Copyright © 2011-2022 走看看