clc;
clear;
close all; [filename,pathname]=uigetfile({'*.*','All Files (*.*)'},'Pick a file');
file = strcat(pathname,filename); % raw图的尺寸
row = 30;
col = 72;
% 读图 所读raw图为8位
fid=fopen(file, 'r');
Bayer=fread(fid,[row,col],'uint8');
fclose(fid);
% 转换到RGB空间
RGB_Pro=raw2rgb(Bayer,row,col); % 转换为RGB图像
% 显示
figure;imshow(RGB_Pro); YUVimg = rgb2ycbcr(RGB_Pro); %%% rgb -> yuv
figure;imshow((YUVimg));

 =================================================================================

function RGB_Pro=raw2rgb(Bayer,row,col)
% 从bayer图像,用shift方法恢复RGB图像
RGB_Pro=zeros(col,row,'uint8'); for m=1 : 2 :row
for n=1:2:col
RGB_Pro(n,m,3)=Bayer(m+1,n);
RGB_Pro(n,m,2)=Bayer(m,n)/2+Bayer(m+1,n+1)/2;
RGB_Pro(n,m,1)=Bayer(m,n+1);
end
end
for m=1 : 2 :row
for n=2:2:col-1
RGB_Pro(n,m,3)=Bayer(m+1,n+1);
RGB_Pro(n,m,2)=Bayer(m+1,n)/2+Bayer(m,n+1)/2;
RGB_Pro(n,m,1)=Bayer(m,n);
end
end for m=2 : 2 :row-1
for n=1:2:col
RGB_Pro(n,m,3)=Bayer(m,n);
RGB_Pro(n,m,2)=Bayer(m+1,n)/2+Bayer(m,n+1)/2;
RGB_Pro(n,m,1)=Bayer(m+1,n+1);
end
end
for m=2 : 2 :row-1
for n=2:2:col-1
RGB_Pro(n,m,3)=Bayer(m,n+1);
RGB_Pro(n,m,2)=Bayer(m,n)/2+Bayer(m+1,n+1)/2;
RGB_Pro(n,m,1)=Bayer(m+1,n);
end
end

  

 

RAW转换成RGB的更多相关文章

  1. 16进制色值转换成RGB

    #51147f  转换成RGB ,5*16+1 ,1*16+4,7*16+15 #A9A9A9 转换成RGB ,A*16+9 ,A*16+9,A*16+9

  2. YUV转换成RGB算法

    YUV转换成RGB void yuvtorgb ( double *rgb,unsigned char *yuv) { int i; rgb[] = ] + + ] - ); // r rgb[] = ...

  3. 在WPF中将图片转换成3D图像并可以旋转

    时光偷走的,永远都是我们眼皮底下看不见的珍贵. https://pan.baidu.com/s/14dk-OU2SR0nxXj2bL4bVpQ 源码网站https://www.codeproject. ...

  4. javascript把RGB指定颜色转换成十六进制颜色(Converting R,G,B values to HTML hex notation)

    Prologue 看见一篇非常好的外国文章,Making annoying rainbows in javascript,事实上我当时非常想把它翻译下来的,可是对于一个连六级都没过的人确实有点难度,一 ...

  5. 「新手必看」Python+Opencv实现摄像头调用RGB图像并转换成HSV模型

    在ROS机器人的应用开发中,调用摄像头进行机器视觉处理是比较常见的方法,现在把利用opencv和python语言实现摄像头调用并转换成HSV模型的方法分享出来,希望能对学习ROS机器人的新手们一点帮助 ...

  6. OpenCV 学习笔记(9)RGB转换成灰度图像的一个常用公式Gray = R*0.299 + G*0.587 + B*0.114

    https://blog.csdn.net/fly_wt/article/details/86432886 RGB转换成灰度图像的一个常用公式是:Gray = R*0.299 + G*0.587 + ...

  7. [镜像转换] ova文件转换成raw文件, 导入到openstack

    ova转raw 使用工具: qemu-img.libguestfs-tools.libguestfs-winsupport # 从vmware导出ova文件, tar 解压导出来的ova文件 $ ta ...

  8. 将十六进制色值转换成Color

    在给Background赋值时,除了自带的Red,Blue,Black等,可以通过以下方法赋予其他颜色. 主要是将Hex转换成ARGB(A:alpha,表示透明度.R:Red.G:Green.B:Bl ...

  9. java将白色背景图片转换成无色

    package com.cxf.dao; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.Buffer ...

随机推荐

  1. [leetcode]311. Sparse Matrix Multiplication 稀疏矩阵相乘

    Given two sparse matrices A and B, return the result of AB. You may assume that A's column number is ...

  2. linux命令学习之:cd

    cd命令用来切换工作目录至dirname. 其中dirName表示法可为绝对路径或相对路径.若目录名称省略,则变换至使用者的home directory(也就是刚login时所在的目录).另外,~也表 ...

  3. 2019.3.15 关于IE

    1. .clearfix {zoom:1} zoom:1   是ie浏览器专有属性  它可以设置或检索对象缩放比例  处理ie的hasLayout属性  清除浮动  清除margin的重叠

  4. WEB框架之Ajax

    一 Ajax简介 1 Ajax的介绍 AJAX翻译成中文就是"异步Javascript和XML".即使用JavaScript语言与服务器进行异步交互,传输的数据为XML(当然,传输 ...

  5. go语言log包的学习(log,Logger)

    package main; import ( "log" "os" "time" "fmt" ) func main() ...

  6. Linux定时任务Crontab使用 提示no crontab for root

    使用命令查询crontab 任务时,一直提示:no crontab for root .查看了一些资料,说是crontab在初始时,设置了一次编辑方式,所以试了一下crontab -e的方式编辑,即在 ...

  7. opencv 3.2 vs2015 debug assertion __acrt_first_block == header

    网上复制了一个转直方图的代码 ,说来也奇怪, 用imshow 显示 图片在独立窗体内,不存在问题, 要注释掉这段代码就出现了下边的错误. 网上查了查,原来是程序中 有个std::vector<c ...

  8. js的面向对象

    JavaScript不区分类和实例的概念,而是通过原型(prototype)来实现面向对象编程. 原型是指当我们想要创建xiaoming这个具体的学生时,我们并没有一个Student类型可用 var ...

  9. Android.InstallAntOnMacOSX

    在Mac OS X上安装ant http://blog.csdn.net/crazybigfish/article/details/18215439

  10. ES6 中 let and const

    let 和 const 命令 let 命令 基本用法 ES6 新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. { let a = 10; v ...