部分源代码



下面是上述仿真的部分代码,供参考。

%  a原始数据数组
%  aa存储像素从1到255
%  bb存储aa中每个像素所对应的个数
%  cc将a化成一列后,所形成的数组
%  dd,cc中小于最大个数的像素值,减1处理后的结果
% copyright by lilizong
a
=imread('c:oat.png');
figure,imshow(a),title(
'嵌入水印前原图像');
for i=1:255
    aa(i)
=i;  %用于存储像素值
end
for i=1:255
    bb(i)
=0;  %用于存储每个像素的个数
end
[m,n]
=size(a);
k
=m*n;   %a的大小
cc
=a(:);
tt
=1;   %循环遍历向量
%求出某个像素的个数

for i=1:k
    
for j=1:255
        
if(cc(i)==aa(j))
            bb(j)
=bb(j)+1;
        end
    end
end
% 求出哪个像素的个数是最大

max
=bb(1);
for i=1:255
    
if(bb(i)>max)
        max
=bb(i);
        maxi
=i;
    end
end
% 将所有小于max的像素的值都减1
ddd
=zeros(m,n);
dd
=ddd(:);  %产生和cc同样大小的数组,用于存放cc处理后结果;

for i=1:k
    
if(cc(i)<max)
        dd(i)
=cc(i)-1;
    end
end
%读入水印,并将水印转换成一列,
watermark
=imread('c:watermark1.png');
figure,imshow(watermark),title(
'水印图像');
[w1,w2]
=size(watermark);
watermark_line
=watermark(:);
oo
=w1*w2;
%开始嵌入水印
tt
=1;  %让tt加1来遍历整个水印图像
for i=1:k
    
if(dd(i)==max)
        
if(tt>oo)
            tt
=1;  %如果超出水印的范围从头开始
            
if(watermark_line(tt)==1)
                  dd(i)
=dd(i)-1;
            end
      
        end
        tt
=tt+1;
    end
end

%显示嵌入水印的图像


embed
=dd;
embed
=reshape(dd,m,n);
figure,imshow(embed,[]),title(
'嵌入水印后图像');
imwrite(embed,
'c:embed2.gif');

%提取水印

for i=1:k
    
if(dd(i)==max)
        watermark(tt)
=0;
        tt
=tt+1;
    elseif(dd(i)
==(max-1))
        watermark(tt)
=1;
        tt
=tt+1;
    end
end
for i=1:oo
    watermark_dect(i)
=watermark(i);
end
watermark_dect
=reshape(watermark_dect,w1,w2);
figure,imshow(watermark_dect,[]),title(
'提取后水印');

%恢复原图像
dd
=embed(:);
for i=1:k
    
if(dd(i)==(max-1))
        dd(i)
=dd(i)+1;
    elseif(dd(i)
<max)
        dd(i)
=dd(i)+1;
    end
end
dd
=reshape(dd,m,n);
figure,imshow(dd,[]),title(
'恢复后图像');


%对原图和恢复图像进行比较



       




   
注:请在所有本程序时先到后台栏目管理里面设定会员在线时间,否者会员登陆时要出错 安装使用说明: 1、修改index/articleconn.asp、admin/articleconn.asp、lanserver/conn.asp和 user/conn.asp 文件里的数据库连接参数 2、将所有文件上传至你的主机上,然后运行index.html即可(里面带2个插件)! 3、后台登录地址:你的域名/admin/login.asp 登录名admin和密码均admin888 4、要使用邮件发送功能请修改sendmail.asp文件,修改的地方有: __________________________________________________________ 找到以下代码,改相应的参数即可:(此功能需服务器支持:JMAIL系统) smtpserver ="邮局服务器地址(IP)" smtpuser ="你的EMAIL登录帐号(如:webmaster@tx38.com)" smtppwd ="你的EMAIL登录密码" __________________________________________________________ 5、要改首页的模板找到admin/index_mb.asp,用网页编辑器编辑就行,最新电影JS 请找到admin/js_news.asp,把里面我的地址改成你的地址。 6、如果有会员在会员期没到时又想升级另下订单的话,请直接修改会员个人资料里的“付款状态”   将里面的数字清空即可再次提交订单了,这里的数字说明如下:  付款状态=" "(空)  即未提交订单  付款状态=0   提交了订单,但未得到确认(不能再提交了)  付款状态=1       提交了订单,并已得到确认(不能再提交了) 8、网站广告请修改ad/js目录下的1.js,2.js,3.js,4.js。 ***********************************
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

superdont

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值