%% 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