将RGB数据转为图片的MATLAB代码
利用MATLAB将R,G,B通道的像素值转换为图片
在进行硬件开发时,通常会产生R,G,B三个通道的像素数值,为了检验产生的像素数值是否正确 ,我们通常采用MATLAB代码将其还原成图像。
MATLAB代码如下:
%% 读入R通道十六进制数据
fid_r = fopen('路径\r.txt', 'r+');
if fid_r == -1disp('fopen failed');
elser_hex = textscan(fid_r,'%s');
end
fclose(fid_r);
%% 读入G通道十六进制数据
fid_g = fopen('路径\g.txt', 'r+');
if fid_g == -1disp('fopen failed');
elseg_hex = textscan(fid_g,'%s');
end
fclose(fid_g);
%% 读入B通道十六进制数据
fid_b = fopen('路径\b.txt', 'r+');
if fid_b == -1disp('fopen failed');
elseb_hex = textscan(fid_b,'%s');
end
fclose(fid_b);
%% 从R通道元胞数组中读出16进制数,并转换为十进制无符号数据
for i=1:length(r_hex{1})r_dec(i) = hex2dec(r_hex{1}{i});
end
%% 从G通道元胞数组中读出16进制数,并转换为十进制无符号数据
for i=1:length(g_hex{1})g_dec(i) = hex2dec(g_hex{1}{i});
end
%% 从B通道元胞数组中读出16进制数,并转换为十进制无符号数据
for i=1:length(b_hex{1})b_dec(i) = hex2dec(b_hex{1}{i});
end
%% 将矩阵由1维变为1920行 * 1080列
r_trans_dimens = reshape(r_dec,1920,1080);
g_trans_dimens = reshape(g_dec,1920,1080);
b_trans_dimens = reshape(b_dec,1920,1080);%% 将R,G,B三个通道的数据矩阵进行转置,变为1080行 * 1920列
r_transpose = r_trans_dimens.';
g_transpose = g_trans_dimens.';
b_transpose = b_trans_dimens.';
%% R,G,B三个通道的数据合在一起
RGB(:,:,1) = r_transpose;
RGB(:,:,2) = g_transpose;
RGB(:,:,3) = b_transpose;
%% 数据归一化,使矩阵的每个元素的值都在0和1之间
rgb = mat2gray(RGB);
%% 显示转换后的图片
imshow(rgb);
%% 保存转换后的图片
imwrite(rgb, '路径\rgb.png');
利用MATLAB将RGB数值还原为图像的效果如下图所示。
点击即可下载代码
将RGB数据转为图片的MATLAB代码相关推荐
- 把bitmap转为二进制。根据地址获取文件数据转为二进制。把二进制数据转为图片
//把bitmap转为二进制 public static byte[] BitmapToBytes(Bitmap Bitmap) { MemoryStream ...
- 【颜色空间转换大集合】RGB到YIQ,RGB到HSI和HSI到RGB,RGB到YcbCr,RGB到XYZ颜色转换matlab代码的Demo,含详细的解释
废话不说,先上图, 实现方式:matlab 实现功能: 实验目标 了解图像颜色空间的转换关系. 了解图像的文件结构. 实验内容 完成如下颜色空间的转换.(4 Points) RGB -> YIQ ...
- 用SVD压缩彩色图片(MATLAB代码)
Write a MATLAB program to perform color image compression using singular value decomposition (SVD). ...
- matlab包络分析函数,数据包络分析 (MATLAB代码).doc
数据包络分析 (MATLAB代码) X=[] % 输入多指标输入矩阵X Y=[] % 输入多指标输出矩阵Y [n,m]=size(X) % n为输入的指标数,m为决策单元数 s=size(Y) % s ...
- 基于BP神经网络、RBF神经网络以及PSO优化的RBF神经网络进行数据的预测(Matlab代码实现)
1 概述 RBF神经网络结构一般包含输入层.隐含层和神经网络的输出层11.RBF神经网络将复杂的非线性问题转化为高维特征空间,使问题转化为线性可分,避免了局部最小的问题,需要更多的隐层神经元.RBF神 ...
- yuv数据(nv12和nv21)和RGB数据之间转换的c++代码
一.首先了解下nv12和nv21的数据排布 nv21 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y V U V U V U V U nv21 Y Y Y Y Y Y Y Y Y Y ...
- 神经网络:基于模糊神经网络(Fuzzy Neural Networks,FNN)的数据预测(提供MATLAB代码)
一.模糊神经网络FNN 模糊神经网络(Fuzzy Neural Networks,FNN)结合了神经网络系统和模糊系统 的长处,它在处理非线性. 模糊性 等问题上有很大的优越性,在 智能信息处理 方面 ...
- matlab播放 视频帧,如何把连续视频帧转为视频的matlab代码 | 学步园
原先用opencv做这个工作,不过总是会出现一些意想不到的问题 今天网速搜了搜,发现matlab有现车的函数,分析给大家: function CreatAviFromPic(picfrom,picen ...
- 单目标应用:基于麻雀搜索算法优化灰色神经网络(grey neural network)的数据预测(提供MATLAB代码)
一.麻雀搜索算法 麻雀搜索算法(sparrow search algorithm,SSA)由Jiankai Xue等人于2020年提出,该算法是根据麻雀觅食并逃避捕食者的行为而提出的群智能优化算法.S ...
最新文章
- 限量!Alibaba首发“Java成长笔记”,差距不止一点点
- 爬虫不得不学之 JavaScript 函数对象篇
- pom.xml增加依赖
- boost::graph模块实现DFS算法的测试程序
- php7.0 java 性能,php7代码性能常见优化技巧
- 验证码何时可以退出历史舞台?
- Android junit单元测试
- Shell学习:关于替换命令-tr-ROT13法则
- linux fread 头文件,Linux文件操作
- php 服务器监控源码,PHP自动Get监控源码
- struts mysql_Struts2连接MySQL数据库(Struts2 MySQL)
- 足球比分动态易语言代码
- matlab 识别车辆,基于MATLAB的车辆牌照识别系统设计
- 6、Nacos服务注册——PushService类功能
- a[i]-‘0‘与(int)a[i]区别
- PCB各层含义简介 浅显易懂 图文展示
- 用flex布局实现携程网首页的制作
- 常用的嵌入式硬件通信接口协议(UART、IIC、SPI、RS-232、RS-485、RS-422、CAN、USB、IRDA)(二)
- ARGOX CP-2140MPPLB18X60药柜
- 最大似然估计(ML)和最小均方误差(LSE)