如何用matlab把RAW格式图像提取并转换成灰度图像?

Y=0.21R+0.72G0.07BY给了个公式小弟是初学者,有很多问题,恳请大家帮忙!Y=0.21r+0.72g+0,07b上面那个公式错了谢谢您的帮助,就是原始的ra... Y = 0.21 R + 0.72 G 0.07 BY
给了个公式
小弟是初学者,有很多问题,恳请大家帮忙!
Y=0.21r+0.72g+0,07b
上面那个公式错了
谢谢您的帮助,就是原始的raw数据,老师就是想让我们自己来编方法所以不让我们用直接读的函数,下面是他给的一些允许用的函数,您帮忙看看给点建议,我还是不知道该怎么实现
图像是400*300,,24bit的
function G = readraw(filename)
%readraw - read RAW format grey scale image of square size into matrix G
% Usage: G = readraw(filename)
disp([' Retrieving Image ' filename ' ...']);
% Get file ID for file
fid=fopen(filename,'rb');
% Check if file exists
if (fid == -1)
error('can not open input image file press CTRL-C to exit \n');
pause
end
% Get all the pixels from the image
pixel = fread(fid, inf, 'uchar');
% Close file
fclose(fid);
% Calculate length/width, assuming image is square
[Y X]=size(pixel);
Size=(Y*X);
N=sqrt(Size);
% Construct matrix
G = zeros(N,N);
% Write pixels into matrix
G(1:Size) = pixel(1:Size);
% Transpose matrix, to orient it properly
G = G';
end %function
展开
 我来答
木头225
推荐于2016-04-16 · TA获得超过605个赞
知道小有建树答主
回答量:243
采纳率:0%
帮助的人:241万
展开全部
如果本身是RAW数据而非RGB的话,就需要先插值,然后用你的那个公式求得灰度图
或者直接使用matlab自带的函数
gray=rgb2gray(I);
追问
谢谢您的帮助,我在问题补充里增加的一些内容,麻烦您帮忙看看好吗
百度网友ff4aba5
推荐于2016-09-25 · TA获得超过4.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:93%
帮助的人:3708万
展开全部
如果本身是RAW数据而非RGB的话,
就需要先插值,
然后用那个公式求得灰度图
或者直接使用matlab自带的函数
gray=rgb2gray(I);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式