ISP图像处理开发过程,需对sensor传入的bayer图进行处理,包括黑电平校准、坏点去除,为验证这类型的模块的功能,仿真阶段需要将bayer作为模块的输入,此时需要获得一帧图片对应的raw data,如txt格式。

可在matlab中编写程序,获得RGB图到bayer图、bayer图对应txt文件。

Bayer图包含4种格式RGGB\GRBG\BGGR\GBRG,四种格式对应4种txt和bayer图。

目标:RGB图转成bayer图、bayer图对应txt文件

实现:

以4k图为例,实现代码如下,详情见注释

%read img,get hang,lie,weidu

H=imread('pic\4k1.jpeg');%获得三张矩阵,依次为RGB

A=double(H);

[hang,lie,wei]=size(A);%2160,3840,3

%   G R B G

GRBG=zeros(hang,lie);      %三维RGB图转为1维Bayer图

for i=1:2:hang             %G   轮询行

for j=1:2:lie          %    轮询列

GRBG(i,j)=A(i,j,2);    %读取G矩阵的数据

end

end

for i=1:2:hang      %2160   R

for j=2:2:lie   %3840

GRBG(i,j)=A(i,j,1);    %读取R矩阵的数据

end

end

for i=2:2:hang              %B

for j=1:2:lie

GRBG(i,j)=A(i,j,3);     %读取B矩阵的数据

end

end

for i=2:2:hang              %G

for j=2:2:lie

GRBG(i,j)=A(i,j,2);     %读取G矩阵的数据

end

end

C1=uint8(GRBG);                     %8位 0-255

imwrite(C1,'pic\4k1_bayer_GRBG.jpeg');%输出bayer图

csvwrite('txt\4k1_bayer_GRBG.txt',C1) %输出对应txt

%   R G G B

RGGB=zeros(hang,lie);

for i=1:2:hang      %2160   R

for j=1:2:lie   %3840

RGGB(i,j)=A(i,j,1);

end

end

for i=1:2:hang             %G

for j=2:2:lie

RGGB(i,j)=A(i,j,2);

end

end

for i=2:2:hang              %G

for j=1:2:lie

RGGB(i,j)=A(i,j,2);

end

end

for i=2:2:hang              %B

for j=2:2:lie

RGGB(i,j)=A(i,j,3);

end

end

C2=uint8(RGGB);

imwrite(C2,'pic\4k1_bayer_RGGB.jpeg');

csvwrite('txt\4k1_bayer_RGGB.txt',C2)

%   B G G R

BGGR=zeros(hang,lie);

for i=1:2:hang              %B

for j=1:2:lie

BGGR(i,j)=A(i,j,3);

end

end

for i=1:2:hang             %G

for j=2:2:lie

BGGR(i,j)=A(i,j,2);

end

end

for i=2:2:hang              %G

for j=1:2:lie

BGGR(i,j)=A(i,j,2);

end

end

for i=2:2:hang      %3840   R

for j=2:2:lie   %2160

BGGR(i,j)=A(i,j,1);

end

end

C3=uint8(BGGR);

imwrite(C3,'pic\4k1_bayer_BGGR.jpeg');

csvwrite('txt\4k1_bayer_BGGR.txt',C3)

%   G B R G

GBRG=zeros(hang,lie);

for i=1:2:hang             %G

for j=1:2:lie

GBRG(i,j)=A(i,j,2);

end

end

for i=1:2:hang              %B

for j=2:2:lie

GBRG(i,j)=A(i,j,3);

end

end

for i=2:2:hang      %3840   R

for j=1:2:lie   %2160

GBRG(i,j)=A(i,j,1);

end

end

for i=2:2:hang              %G

for j=2:2:lie

GBRG(i,j)=A(i,j,2);

end

end

C4=uint8(GBRG);

imwrite(C4,'pic\4k1_bayer_GBRG.jpeg');

csvwrite('txt\4k1_bayer_GBRG.txt',C4)

subplot(231),imshow(A);

subplot(232),imshow(C1);

subplot(233),imshow(C2);

subplot(234),imshow(C3);

subplot(235),imshow(C4);

实际效果如下图

matlab实现RGB图转为BAYER图像以及Bayer格式对应的txt相关推荐

  1. MATLAB 将RGB颜色空间转为HSI颜色空间、LAB颜色空间 原理及程序

    一张彩色图像是由R.G.B三个通道组成,所以首先需要将彩色图像分为三个通道的图像. 以下是对猫图进行单通道提取得到的图像. HSI颜色空间 HSI[Hue-Saturation-Intensity(L ...

  2. RGB图转为灰度图的方法

    我们日常的环境通常获得的是彩色图像,很多时候我们常常需要将彩色图像转换成灰度图像.也就是3个通道(RGB)转换成1个通道. (1)平均法 最简单的方法当然就是平均法,将同一个像素位置3个通道RGB的值 ...

  3. 9.2【彩色模型】-----基于Opencv实现-----把一幅RGB图转为CMY图

    (一)CMY模型 CMY(Cyan,Magenta,Yellow)模型是采用青,品红,黄色3种基本原色按一定比例合成颜色的方法,由于色彩的显示不是直接来自于光线的色彩,而是光线被物理吸收掉一部分之后反 ...

  4. 将RGB数据转为图片的MATLAB代码

    利用MATLAB将R,G,B通道的像素值转换为图片 在进行硬件开发时,通常会产生R,G,B三个通道的像素数值,为了检验产生的像素数值是否正确 ,我们通常采用MATLAB代码将其还原成图像. MATLA ...

  5. python使用OpenCV加载图像为RGB图并可视化加载的图像(Convert to RGB and show image)

    python使用OpenCV加载图像为RGB图并可视化加载的图像(Convert to RGB and show image) 目录 python使用OpenCV加载图像为RGB图并可视化加载的图像( ...

  6. 水印图像读取与制作,三通道图转为4通道,制作透明图

    def watermark_handle(watermark_path):'''水印图像读取与制作,三通道图转为4通道,制作透明图:param watermark_path: 水印图像路径:retur ...

  7. matlab读取黑白图目标位置的坐标,matlab对图像处理——裁剪 获取灰度图 获取坐标点...

    matlab截取图像Ⅱ 欢迎来到!德莱联盟 应该是CSDN之bruderlung的博客! 你可以仔细阅读这篇文章,结合实例初步了解MATLAB的一些功能! 程序要求 建立循环函数,通过程序依此读取十幅 ...

  8. 基于Azure Kinect SDK获取物体rgb图、深度图、红外IR图和点云数据并保存到本地

    Azure Kinect 最近想做一个物体的三维重建,就买了微软最新的深度相机,功能相比前两代虽然有了很大提升,但是可参考的资料确很少,最简单的图像获取,点云图像保存,都费了我一番功夫最后再参考了现有 ...

  9. MATLAB制作动图或视频

    (来点有用的)MATLAB制作动图或视频 主要函数介绍 情况一:对数据进行操作 情况二:对界面进行操作 其他 by HPC_ZY 在CSDN发现一个类似的居然要VIP才能查看,顿时有点无语,所以自己做 ...

最新文章

  1. 干货 | 产品经理要了解的技术类知识
  2. listview winfrom 表头_winform ListView点击行表头,排序
  3. php 4位数字不足补零,php实现数字不足补0的方法
  4. php源生生成pdf_TCPDF - 可生成PDF文档和条形码PHP库
  5. Platform SDK and SB2
  6. dnf服务器地址修改,修改dnf单机服务器地址
  7. 僵尸进程以及如何处理僵尸进程
  8. linux 下多个图片合并,FFmpeg将多张图片合成视频
  9. python破解Excel文件密码
  10. 服务器常见协议,网吧影视服务器常见的网络协议
  11. windows下pyqt4
  12. 最详细Python打包exe教程,并修改图标,只需30秒
  13. 0X000000该内存不能为read的解决方法(转)
  14. ERROR: No matching distribution found for cv2解决方案
  15. mac 教程 终端设置代理
  16. CSS基础五(盒模型)
  17. 在qt实现手机通讯录系统_Qt编写自定义控件55-手机通讯录
  18. 电脑怎么查看处理器CPU型号、属性以及显卡型号
  19. lec formality inconclusive举例
  20. 使用servlet过滤器播放amr音频

热门文章

  1. 优动漫PAINT是什么?有哪些功能和特色
  2. 网络爬虫-神器fiddler抓取app数据
  3. h5棋牌游戏源码 java_YM202H5房ka微信贝密棋盘游戏平台,完整全套游戏源码下载...
  4. javascript招式总结
  5. 最全长文详述“数字人民币简史”,揭开数字人民币神秘面纱
  6. Mybatis-Plus 基础知识点
  7. 【PyQt5,2021最新Java常用开源库总结
  8. 4G 工业路由器并入cisco专网
  9. 4G边缘计算工业路由器与传统4G工业路由器的区别
  10. float gpu 加速_(总结篇)使用 MATLAB GPU 加速计算|MATLAB 并行计算与分布式服务器|MATLAB技术论坛...