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. ecplise中创建jsp页面时默认的编码格式为ISO-8859-1,这里我们将其编码格式设置为utf-8

    我们在创建jsp页面时,默认的编码格式为ISO-8859-1,我们如果想要将其改为utf-8还要自己手动去更改. 因此可以设置Jsp默认的编码为utf-8,具体步骤如下: 启动Eclipse,点击菜单 ...

  2. Python 列表推导实例

    #!/usr/bin/python # -*- coding: utf-8 -*- with open('e:/123.txt') as fp:row = fp.readlines() #打开并读取所 ...

  3. hdu 5441 Travel (2015长春网赛)

    http://acm.hdu.edu.cn/showproblem.php?pid=5441 题目大意是给一个n个城市(点)m条路线(边)的双向的路线图,每条路线有时间值(带权图),然后q个询问,每个 ...

  4. Mercedes offline programming/coding tips and guides

    Mercedes offline programming/coding recommendations and guides: Offline coding: SCN or CVN coding wa ...

  5. Nginx如何设置禁止IP访问网站

    需要禁止IP访问网站.在相关的server中设置相关的限制即可.

  6. Xcode 折叠代码快捷键

    Xcode9之前版本可以代码局部和全局折叠,但是9之后只能以某个函数为单位进行全局折叠,特别是里面的逻辑判断的代码不能局部折叠了... Xcode9之前版本代码折叠: 在Xcode菜单里选择Prefe ...

  7. 如果CocoaPods 导入的库需要修改代码

      如果经常要修改第三方框架的话,可以将需要修改的第三方库fork一份到自己的github,在里面做完修改之后,将podfile修改为: platform :ios, '7.0' pod '要导入的库 ...

  8. Python之路(第十篇)迭代器协议、for循环机制、三元运算、列表解析式、生成器

    一.迭代器协议 a迭代的含义 迭代器即迭代的工具,那什么是迭代呢? #迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 b为何要有迭代器? 对于序列类型:字符串.列表 ...

  9. 含有选择器的 bootstrap菜单

    var menu = new BootstrapMenu('#jsmind_container jmnode:not(.root)', { actions: [{ name: '展开节点', onCl ...

  10. Capacity To Ship Packages Within D Days LT1011

    A conveyor belt has packages that must be shipped from one port to another within D days. The i-th p ...