RAW转换成RGB
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的更多相关文章
- 16进制色值转换成RGB
#51147f 转换成RGB ,5*16+1 ,1*16+4,7*16+15 #A9A9A9 转换成RGB ,A*16+9 ,A*16+9,A*16+9
- YUV转换成RGB算法
YUV转换成RGB void yuvtorgb ( double *rgb,unsigned char *yuv) { int i; rgb[] = ] + + ] - ); // r rgb[] = ...
- 在WPF中将图片转换成3D图像并可以旋转
时光偷走的,永远都是我们眼皮底下看不见的珍贵. https://pan.baidu.com/s/14dk-OU2SR0nxXj2bL4bVpQ 源码网站https://www.codeproject. ...
- javascript把RGB指定颜色转换成十六进制颜色(Converting R,G,B values to HTML hex notation)
Prologue 看见一篇非常好的外国文章,Making annoying rainbows in javascript,事实上我当时非常想把它翻译下来的,可是对于一个连六级都没过的人确实有点难度,一 ...
- 「新手必看」Python+Opencv实现摄像头调用RGB图像并转换成HSV模型
在ROS机器人的应用开发中,调用摄像头进行机器视觉处理是比较常见的方法,现在把利用opencv和python语言实现摄像头调用并转换成HSV模型的方法分享出来,希望能对学习ROS机器人的新手们一点帮助 ...
- 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 + ...
- [镜像转换] ova文件转换成raw文件, 导入到openstack
ova转raw 使用工具: qemu-img.libguestfs-tools.libguestfs-winsupport # 从vmware导出ova文件, tar 解压导出来的ova文件 $ ta ...
- 将十六进制色值转换成Color
在给Background赋值时,除了自带的Red,Blue,Black等,可以通过以下方法赋予其他颜色. 主要是将Hex转换成ARGB(A:alpha,表示透明度.R:Red.G:Green.B:Bl ...
- java将白色背景图片转换成无色
package com.cxf.dao; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.Buffer ...
随机推荐
- Mysql自定义函数functions时报错
delimiter && [函数创建语句.....] [Err] 1418 - This function has none of DETERMINISTIC, NO SQL, or ...
- php RSA加密传输代码示例(轉)
原文地址:http://www.cnblogs.com/firstForEver/p/5803940.html 涉及敏感数据的传输,双方最好约定使用加密解密.那RSA非对称加密就大有作为了. 服务端可 ...
- golang xml和json的解析与生成
golang中解析xml时我们通常会创建与之对应的结构体,一层层嵌套,完成复杂的xml解析. package main; import ( "encoding/xml" " ...
- 关于SharedPreferences存储数据的使用方法
SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来 ...
- Bootstrap 框架 day57
Bootstrap框架 Bootstrap介绍 Bootstrap是Twitter开源的基于HTML.CSS.JavaScript的前端框架. 它是为实现快速开发Web应用程序而设计的一套前端工具包 ...
- Django TypeError: isinstance() arg 2 must be a type or tuple of types
报错: TypeError: isinstance() arg must be a type or tuple of types from django.db import modelsfrom dj ...
- tp框架版本的thinksnsnv4开启调试模式
首先说下开启调试模式完整操作. 1.\config\config.inc.php配置文件中增加两个键值对 'APP_DEBUG' => true, 'SHOW_PAGE_TRACE' => ...
- std::move 移动对象资源
场景: C++ 标准库使用比如vector::push_back 等这类函数时,会对参数的对象进行复制,连数据也会复制.这就会造成对象内存的额外创建, 本来原意是想把参数push_back进去就行了. ...
- snort帮助文档
[1] CentOS6.6下基于snort+barnyard2+base的入侵检测系统的搭建 2 基于Snort的C_S模式的IDS的设计与应用_王会霞.caj [3] Snort 笔记1 - 3种模 ...
- BZOJ 3123 [SDOI2013] 森林 - 启发式合并 主席树
Description 给你一片森林, 支持两个操作: 查询$x$到$y$的$K$大值, 连接两棵树中的两个点 Solution 对每个节点$x$动态开权值线段树, 表示从$x$到根节点路径上权值出 ...