PNG格式图像转成RGBA排序数据Matlab实现

本文分享了一个使用Matlab2021b版本的代码,用于将PNG图像中的RGB数据转换为RGBA格式,适用于工程实践,便于RGB屏幕显示。代码展示了如何读取图片、处理像素并保存为文本文件。
摘要由CSDN通过智能技术生成

在进行实际工程开发时,RGB屏幕需要图片数据排列成RGBA的顺序才能显示,这里我提供了一个可以把任意宽高的PNG格式图像转成RGBA排列顺序的Matlab代码,经工程测试可用,供参考。

Matlab版本:2021b

clear

% 读取PNG图像 
img = imread('picture.png'); 

[X,map,alpha] = imread('picture.png');

[~, cols] = size(img);

cols = cols/3;

for i = 1:cols                  % cols是图标的像素宽,列数

    r = img(:, i);
    g = img(:, i+cols);
    b = img(:, i+2*cols);

    img1(: ,(i-1)*4+1) = r;
    img1(: ,(i-1)*4+2) = g;
    img1(: ,(i-1)*4+3) = b;
    img1(: ,(i-1)*4+4) = alpha(:,i);

end

% 获取图像的行数和列数 
[rows, cols] = size(img1); 
 
% 打开文本文件进行写入 
fid = fopen('picture.txt', 'w'); 

% 将像素值写入文本文件 
for i = 1:rows 
    for j = 1:cols 
        fprintf(fid, '0x%x ,', img1(i,j)); 
    end 
    fprintf(fid, '\n'); 
end 

% 关闭文本文件 
fclose(fid); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值