【图像传输】基于matlab量化矩阵数字图像渐进传输【源码91期】

一、简介

基于matlab量化矩阵数字图像渐进传输

二、部分源码

clear; clc;close all;
I=imread('1.bmp');  %读取图片
info=imfinfo('1.bmp');
w=info.Width;%获取图片信息 宽、高赋值
h=info.Height;
figure,imshow(I);%显示原图
title('原图');
%显示灰度图
ig=rgb2gray(I);
figure,imshow(ig);
title('灰度图');
 %图片数据编码:把3位灰度值拆成3个个位数数字
for i=1:h
    for j=1:w    
        g=ig(i,j);%遍历获取灰度值
        gb=double(g)
        s(3*(w*(i-1)+j)-2)=floor(gb/100);%百位 floor(x)小于等于x的最大整数    
        s(3*(w*(i-1)+j)-1)=floor(mod(gb,100)/10);%十位   
        s(3*(w*(i-1)+j))=mod(gb,10);%个位
    end
end

L=length(s);%获取发送数组长度
SN=10; %信噪比
for i=1:L
    ss=send(s(i)); %发送自定义函数
    ssa=awgn(ss,SN);  %噪声
    ssar=receive(ssa); %接收自定义
    r(i)=ssar;
end

for i=1:h  %解码:把每3个个位数变为三位数
    for j=1:w
        re=r(3*(w*(i-1)+j)-2)*100+r(3*(w*(i-1)+j)-1)*10+r(3*(w*(i-1)+j));
        rec(i,j)=re; %把解码出来的灰度值存到数组rec
    end
end

rece=uint8(rec);
figure,imshow(rece); %显示接收的图片
title('接收图片');

三、运行结果

  四、matlab版本

MATLAB R2019a

五、学习与交流

文中不足之处请大家多多指教,学习与交流可以联系企鹅:3752243968
文中部分源码仅供参考,若需要全部代码可以私信

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值