基于像素预测和位平面压缩的加密图像可逆数据隐藏附matlab代码(论文复现)

编程入门 行业动态 更新时间:2024-10-11 07:30:01

基于<a href=https://www.elefans.com/category/jswz/34/1768605.html style=像素预测和位平面压缩的加密图像可逆数据隐藏附matlab代码(论文复现)"/>

基于像素预测和位平面压缩的加密图像可逆数据隐藏附matlab代码(论文复现)

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机  电力系统

⛄ 内容介绍

密文域可逆信息隐藏(RDHEI)受到越来越多的关注,因为它可以保护原始图像的内容,同时可以准确地提取嵌入的数据,并且可以无损地重建原始图像。 为了充分利用相邻像素的相关性,本文提出了一种基于像素预测和位平面压缩的RDHEI方案。 首先,将原始图像分成相等大小的块,并计算原始图像的预测误差。 然后,分别执行8个预测误差的位平面的重排和位流压缩。 最后,通过流密码对腾出空间后的图像进行加密,并通过多LSB(最低有效位)替换将附加数据嵌入到腾出的空间中。 实验结果表明,该方法的嵌入能力优于现有方法。

⛄ 部分代码

function [origin_bits] = BitStream_DeCompress(compress_bits,L_fix)

% 函数说明:解压缩比特流

% 输入:compress_bits(压缩比特流),L_fix(定长编码参数)

% 输出:origin_bits(原始比特流)

len_bits = length(compress_bits); %统计压缩比特流的长度

comp_t = 0;%计数,已遍历压缩比特流的长度

origin_bits = zeros(); %用来记录原始比特流

ori_t = 0; %计数,原始比特流的数目

while comp_t<len_bits 

    label = compress_bits(comp_t+1); %压缩段的第一个比特值

    %-------------------表示接下来的一段比特流是压缩比特流-------------------%

    if label==1 

        L_pre = 0;  %前缀标记位

        for i=comp_t+1:len_bits

            if compress_bits(i) == 1

                L_pre = L_pre+1;

            else

                L_pre = L_pre+1; %前缀标记以0结束

                break;

            end

        end

        comp_t = comp_t + L_pre; %用于记录相同比特流压缩后的前缀部分

        l_bits = compress_bits(comp_t+1:comp_t+L_pre);%用于记录相同比特流压缩后的中间部分

        comp_t = comp_t + L_pre; 

        [l] = BinaryConversion_2_10(l_bits); %中间部分的值

        L = 2^L_pre + l; %相同比特流的长度

        bit = compress_bits(comp_t+1);  %用于记录相同比特流的比特值

        comp_t = comp_t + 1;

        for i=1:L %记录原始比特流

            ori_t = ori_t+1;

            origin_bits(ori_t) = bit;

        end

    %----------------表示接下来的一段比特流是直接截取的比特流----------------%

    elseif label==0

        if comp_t+L_fix+1<=len_bits

            comp_t = comp_t + 1; %标记位

            origin_bits(ori_t+1:ori_t+L_fix) = compress_bits(comp_t+1:comp_t+L_fix);

            ori_t = ori_t + L_fix;

            comp_t = comp_t + L_fix;

        else

            comp_t = comp_t + 1; %标记位

            re = len_bits - comp_t;

            origin_bits(ori_t+1:ori_t+re) = compress_bits(comp_t+1:comp_t+re);

            ori_t = ori_t + re;

            comp_t = comp_t + re;

        end

    end

end

⛄ 运行结果

⛄ 复现文献

Reversible Data Hiding in Encrypted Images Based on Pixel Prediction and Bit-Plane Compression DOI: 10.1109/TDSC.2020.3019490

❤️ 关注我领取海量matlab电子书和数学建模资料

❤️部分理论引用网络文献,若有侵权联系博主删除

更多推荐

基于像素预测和位平面压缩的加密图像可逆数据隐藏附matlab代码(论文复现)

本文发布于:2024-03-14 14:46:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1736704.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:像素   平面   图像   代码   数据

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!