matlab 图像处理 histogram shifting 基于直方图平移的信息隐藏

本文探讨了如何使用MATLAB进行图像处理,特别是在直方图平移方面,以此实现信息隐藏的技术。通过直方图平移,可以巧妙地在图像中嵌入隐藏信息,而不会明显改变图像的视觉效果。虽然恢复图像的细节未在此处详述,但该方法展示了图像处理在信息安全领域的潜在应用。
摘要由CSDN通过智能技术生成

%% histogram shifting

 I = imread('liftingbody.png');
 I2 = I;
 [counts, location] = imhist(I2);
 
 [~, maxid] = max(counts)
 maxpixel = location(maxid)
 
 [M N] = size(I2);
 %图像没有像素值个数为0的点,设置像素值等于254的点个数为0
 for i = 1 : M
     for j = 1 : N
         
         if( I2(i,j) == 254)
             I2(i,j) = 255;
         end
     end
 end
 imhist(I2)

%直方图平移
 for i = 1:M
     for j = 1:N
         
         if ( I2(i,j) > maxpixel && I2(i,j) < 254)
             I2(i, j) = I2(i, j) + uint8(1);
         end
     end
 end
 
 
 
 %% embedding
 sum = counts(maxid);
 rng(90)
 B = round(rand(1,sum)); %随机产生机密信息
 count = 1;
     
 for i = 1:M
     for j = 1:N
         
         if(I2(i, j) == maxpixel)
             if( B(count) == 1 )
                 I2(i, j) = I2(i, j) + uint8(1);
                 count = count + 1;
             else
        
  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值