1 Star 0 Fork 0

弦余/Matlab图像处理大作业

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
coder.m 1.12 KB
一键复制 编辑 原始数据 按行查看 历史
弦余 提交于 2022-05-31 21:08 +08:00 . 初始化
clear;
I = imread("-3eeee42b757f1641.jpg");
% I = [1,2,5,9; 1,3,1,0; 1 2 3 8];
I=rgb2gray(I);
I=im2uint8(I);
[M,N,sig] = encode(I);
out = decode(M,N,sig);
subplot(121),imshow(I),title("原图");
% subplot(122),imshow(out),title("编解码后");
function [M, N, out] = encode(in)
s=size(in);
M=s(1);
N=s(2);
data=in(:);
out=zeros(1, 'uint8');
out(1)=data(1);
carry = out(1);
out(2)=1;
k=1;
for i = 2:length(data)
if carry==data(i)
out(k+1)=out(k+1)+1;
else
k=k+2;
carry=data(i);
out(k)=carry;
out(k+1)=1;
end
end
out=out';
end
function output = decode(M,N,sig)
output=zeros(M,N,'uint8');
originSig = zeros([1, M*N],"uint8");
k=double(1);
l=1;
M=double(M);
for i=1:2:uint32(length(sig))
num = sig(i+1);
while num>0
% output(mod(k-1,M)+1, fix((k-1)/M)+1)=sig(i);
originSig(l) = sig(i);
l=l+1;
k=k+1;
num = num-1;
end
output = originSig;
% output = reshape(originSig,[M,N]);
end
end
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xianyu39/matlab-image-processing-work.git
git@gitee.com:xianyu39/matlab-image-processing-work.git
xianyu39
matlab-image-processing-work
Matlab图像处理大作业
master

搜索帮助