ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【图像隐写】基于matlab LBP数字水印嵌入攻击提取【含Matlab源码 1672期】

2022-01-12 19:00:40  阅读:198  来源: 互联网

标签:LBP mm Image 隐写 源码 zeros logo pi block


一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【图像隐写】基于matlab LBP数字水印嵌入攻击提取【含Matlab源码 1672期】

获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、部分源代码

clear all
close all
clc
global mm nn rr tt
%[mm nn]=Size Original Image , [rr tt]= size logo
%rr*tt should be less than mm/3*nn/3

%Reading Original Image
[fn fp]=uigetfile('*.*');
I=rgb2gray(imread([fp,fn]));
[mm nn]=size(I);
figure, subplot(2,2,1),imshow(I)
title(' Original Image')

%Reading LogO
[fn fp]=uigetfile('*.*');
logo=rgb2gray(imread([fp,fn]));
[rr tt]=size(logo);

logo=im2bw(logo,.8);
logo=double(logo);
subplot(2,2,3),imshow(logo)
title(' Original Logo')
%*****************************embedding*****************************

block=zeros(3,3);
s_p=zeros(3,3);
m_p=zeros(3,3);
blocki=zeros(1,9);
s_pi=zeros(1,9);
m_pi=zeros(1,9);
n=2;
beta=0.07;
% Based on paper beta=0.08
Image=int16(I);
Image_waterMarked=Image;
for i=3:3:mm-3
    for j=3:3:nn-3
        Image_c=Image(i+1,j+1);
        f_xor=0;
        for k=0:2
            for l=0:2
                %%%%%%%%%%%%%%%%%%%LBP pattern%%%%%%%% 
                block(k+1,l+1)=Image(i+k,j+l);
                s_p(k+1,l+1) = Sng(block(k+1,l+1),Image_c);
                %%%%%%%%%%%%%%%%%%%%%%%%
                m_p(k+1,l+1)=abs( block(k+1,l+1)-Image_c);
                %%%%%%%%%%%%%%%%%%%5
                s_x= s_p(k+1,l+1);
                f_xor = xor(f_xor,s_x);
                %%%%%%%%%%%%%%%%%%%%%%%%
            end
        end
        %%%%%%%%%%%%%%%%%%%%%%%%%
            blocki=block(:);
            s_pi=s_p(:);
            m_pi=m_p(:);
        block_min=min(blocki);
        m_pi(5)=max(m_pi);
        m_pmin=min(m_pi);
        for h=1:9
            blockit=m_pi(h);
            if(blockit==m_pmin)
                x=h;
            end
        end
        index=blocki(x);       
        s_pmin=s_pi(x);      
        %%%%%%%%%%%%%%%%%%%%%%%%embedding%%%%%%%%%%%%%%%
        if i/3<=rr 
            if j/3<= tt
        if (f_xor==logo(i/3,j/3))
            for m=0:2
                for n=0:2
                    Image_waterMarked(i+m,j+n)=block(m+1,n+1);
                end
            end
        elseif s_pmin==1
            block_min1=(index-m_pmin)*(1-beta);
            blocki(x)=block_min1;
            block=reshape(blocki,3,3);
            for m=0:2
                for n=0:2
                    Image_waterMarked(i+m,j+n)=block(m+1,n+1);
                end
            end

三、运行结果

在这里插入图片描述

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]韩纪庆,张磊,郑铁然.语音信号处理(第3版)[M].清华大学出版社,2019.
[2]柳若边.深度学习:语音识别技术实践[M].清华大学出版社,2019.
[3]宋俊辉,鲁骏.彩色图像数字水印嵌入和提取模型研究——基于DWT和DCT[J].现代商贸工业. 2011,23(17)

标签:LBP,mm,Image,隐写,源码,zeros,logo,pi,block
来源: https://blog.csdn.net/TIQCmatlab/article/details/122460007

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有