当前位置: 首页 > news >正文

【Matlab】代码库:RGB三通道图像←互转→RGB次序平铺二维

本文介绍了两种MATLAB图像转换方法:1) 将3D RGB图像转换为2D平铺格式,通过向量化操作将RGB通道展开为连续列,并将8位数据扩展到12位;2) 将2D平铺图像还原为3D RGB格式,通过反向操作分离通道并压缩回8位。两种方法均提供了循环和向量化两种实现方式,推荐使用更高效的向量化方法。转换过程包含16倍的缩放因子,用于8位到12位数据的相互转换。代码支持自动或手动指定图像尺寸,适用于显示驱动等硬件应用场景。

把RGB三通道图像转换为RGB平铺的2维图像,代码如下

function[output_2D_12bit]=img_3Dto2D_8Bto12B(input_3D_8bit,img_V,img_H)% 把3维RGB图像转换为显示驱动的RGB2维图像,支持1或3个输入% V1.0.0% 2025/12/13% 步达硬件ifnargin<2[img_V,img_H,~]=size(input_3D_8bit);endoutput_2D_12bit=zeros(img_V,img_H*3,'double');%%Method1:for循环赋值% for i=1:img_V% for j=1:img_H% output_2D(i,(j-1)*3+1) =input_3D(i,j,1);% output_2D(i,(j-1)*3+2) =input_3D(i,j,2);% output_2D(i,(j-1)*3+3) =input_3D(i,j,3);% end% end%Method2:向量赋值,速度快,推荐forj=1:img_Houtput_2D_12bit(:,(j-1)*3+1)=input_3D_8bit(:,j,1);output_2D_12bit(:,(j-1)*3+2)=input_3D_8bit(:,j,2);output_2D_12bit(:,(j-1)*3+3)=input_3D_8bit(:,j,3);endoutput_2D_12bit=output_2D_12bit*16;end

把RGB平铺的2维图像转换为RGB三通道图像,代码如下:

function[output_3D_8bit]=img_2Dto3D_12Bto8B(input_2D_12bit,img_V,img_H)% 把显示驱动的RGB2维图像转换为3维RGB图像,支持1或3个输入% V1.0.0% 2025/12/13% 步达硬件ifnargin<2[img_V,img_H]=size(input_2D_12bit);img_H=img_H/3;endoutput_3D_8bit=zeros(img_V,img_H,3,'uint8');% % Method1:for循环赋值% for i=1:img_V% for j=1:img_H% output_3D(i,j,1) =fix(input_2D(i,(j-1)*3+1)/16);% output_3D(i,j,2) =fix(input_2D(i,(j-1)*3+2)/16);% output_3D(i,j,3) =fix(input_2D(i,(j-1)*3+3)/16);% end% end% % Method2:向量赋值,速度快,推荐forj=1:img_Houtput_3D_8bit(:,j,1)=fix(input_2D_12bit(:,(j-1)*3+1)/16);output_3D_8bit(:,j,2)=fix(input_2D_12bit(:,(j-1)*3+2)/16);output_3D_8bit(:,j,3)=fix(input_2D_12bit(:,(j-1)*3+3)/16);endend
http://www.cnnetsun.cn/news/114747.html

相关文章:

  • 使用 html2canvas + jsPDF 生成PDF 的简单示例(含文字下沉修复)
  • Vue3+Monaco Editor封装及SQL编辑器实现
  • MiniCPM-V 4.5
  • Flutter工程化与协作实践指南
  • Excel技巧:提取身份证号码中的出生年月日
  • 软工毕业设计创新的开题分享
  • Oracle数据库物理备份与恢复实战指南
  • 告别“养死”魔咒!AI+知识库+物联网,打造零失败智能种植系统(附架构图+实操指南)
  • 安卓基础之《(4)—Activity组件(2)》
  • 打破数据堵点:6 大主流CRM厂商全链路数据流转能力横评与选型指南
  • 小程序毕设项目:基于springboot+微信小程序的校园活动管理系统设计与实现(源码+文档,讲解、 调试运行,定制等)
  • 小程序毕设项目:基于springboot+微信小程序的DIY电脑推荐与交流平台(源码+文档,讲解、 调试运行,定制等)
  • 小程序毕设项目:基于springboot+微信小程序的在线复习小程序(源码+文档,讲解、 调试运行,定制等)
  • 安徽做SCARA机器人的公司有哪些?
  • 【JavaWeb】MVC模式_理论简介
  • 【JavaWeb】日程管理01——登录页及数据校验功能
  • springboot中File默认路径
  • 【2025年AI 编程时代的热点】
  • 【C++ 笔记】从 C 到 C++:核心过渡 (中)
  • SQL约束解析
  • 地铁调研12-17
  • 现代软件测试工具全景对比与选型指南
  • 基于 Apache POI 的体检报告 Word 生成实战文档
  • org.jetbrains.annotations的@Nullable 学习
  • 计算机毕业设计springboot计算机硬件自配系统 基于Spring Boot的计算机硬件配置管理系统设计与实现 Spring Boot架构下的计算机硬件自选系统开发
  • 【信创】中间件对比
  • 傅里叶变换小波变换
  • 智能桑拿房首选:水管家集成系统如何提升体验?
  • 最简单的LangChain和RAG
  • 空压机监控运维管理系统方案