使用Matlab显示OV5642输入的Raw Bayer图像
2013-10-19 22:13
465 查看
对于OV5642输出视频格式,可以使用RAWBayer模式。这种格式传输的是Sensor最原始的感光数据,没有经过处理,具有更好的清晰度和图像显示效果。OV5642的RAW Bayer像素点格式如下所示。
对于原始的RAW Bayer格式数据,需要转换成RGB像素点格式才能显示出图像。对于RAW和RGB之间的转换还是有一点复杂,在测试阶段可以使用一种简单的方法,即将相邻的四个像素点合并为一个,取其B、R和Gb最为RGB的三个元素来显示。使用这种方法,使得图像横竖的分辨率都减半,最终的图像大小减为原来的四分之一。
使用Matlab显示RAW Bayer图像的代码如下。
对于原始的RAW Bayer格式数据,需要转换成RGB像素点格式才能显示出图像。对于RAW和RGB之间的转换还是有一点复杂,在测试阶段可以使用一种简单的方法,即将相邻的四个像素点合并为一个,取其B、R和Gb最为RGB的三个元素来显示。使用这种方法,使得图像横竖的分辨率都减半,最终的图像大小减为原来的四分之一。
使用Matlab显示RAW Bayer图像的代码如下。
clear all; clc; fid = fopen('camera3.raw', 'r' ); if fid == -1 error('Cannot open file.'); end hor = 2592; ver = 1944; for i=1:ver picture(i,:) = fread(fid, hor, 'uint16'); end fclose(fid); picture = round((picture ./ 1024) * 256); r = uint8(zeros(ver/2, hor/2)); g = uint8(zeros(ver/2, hor/2)); b = uint8(zeros(ver/2, hor/2)); r_temp = picture(:, 2:2:hor); r = r_temp(2:2:ver, :); g_temp = picture(:, 2:2:hor); g = g_temp(1:2:ver, :); b_temp = picture(:, 1:2:hor); b = b_temp(1:2:ver, :); rgb(:, :, 1) = r; rgb(:, :, 2) = g; rgb(:, :, 3) = b; figure,imshow(rgb); |
相关文章推荐
- 使用Matlab显示OV5642输入的Raw Bayer图像
- 使用Matlab显示OV5642输入的YUV图像
- 使用Matlab显示OV5642输入的YUV图像
- mat文件存储struct结构,使用matlab显示图像
- 使用Matlab进行图像的读写、显示和缩放(最近临插值和双线性内插值法)
- 如何使QLineEdit只显示整型输入(不使用正则表达式的话)
- 在Linux控制台下使用libjpeg显示JPEG图像在framebuffer上
- Python下使用OpenCV——图像显示与保存
- 让使用非东来版本9800支持中文显示,非输入/菜单
- 使用matlab处理图像的基础知识
- 使用libjpeg显示JPEG图像在framebuffer 测试(八)
- 在python中使用SimpleITKeras 进行 mha医学图像加载显示
- 使用GDI+ MeasureString方法计算显示 输入文本的长度
- MATLAB GUI ,2,使用MATLAB的函数来实现MATLAB GUI,part 1,图像、按钮和坐标轴
- ASP.NET2.0中"无法显示XML页,使用XSL样式表无法查看 XML 输入"问题的解决方案
- NET中"无法显示 XML 页。 使用 XSL 样式表无法查看 XML 输入。"问题的解决
- matlab 6个参数,各个策略使用参数个数不同,显示
- 【VC】使用SDK在界面上显示图标和图像
- Matlab显示图像问题,double处理后,图像变白
- 使用MATLAB在图像中选择矩形框区域的操作函数即过程