matlab怎么存取灰度图像的像素矩阵?

我用matlab将一幅彩图转变为了一幅灰度图,我想得到这个灰度图的像素信息并放进一个矩阵中该怎么办?下面的我的程序,可是不对,求大神指导一下!!!

P=imread('1.JPG'); % 调入图片
M=rgb2gray(P);
[F]= imread(M); %提取图片, 像素矩阵保存在F中(就是这句不对)
size(F);%查看矩阵维数
f=F;

 I = imread('图片路径\图片.jpg');%给出图片路径即可,I是一个三维矩阵

J = rgb2gray(I);%将其转换为灰度矩阵


参看效果:

figure, imshow(I), 

figure, imshow(J);

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-27
P=imread('1.JPG'); % 调入图片
M=rgb2gray(P);
S=double(M);%将图像数据转化成double类型

这样S就是你要保存的矩阵。matlab中规定了图像的存储格式为uint8类型,一般是不能进行加减乘除运算的,需要将其转化成其他数据类型,常见的是double型。追问

那样运行后显示了这样的错误,这是怎么回事啊?

追答

你文件名写错了!!

正确格式是这样子的:

A=imread('rice.png');

追问

其实没有错,不过我已近找到修改方法了,后面的程序我不是很需要,所以就直接删了,不过还是很谢谢

本回答被提问者和网友采纳
第2个回答  2015-07-07
P=imread('1.JPG'); % 调入图片
M=rgb2gray(P);
S=double(M);%将图像数据转化成double类型

这样S就是你要保存的矩阵。matlab中规定了图像的存储格式为uint8类型,一般是不能进行加减乘除运算的,需要将其转化成其他数据类型,常见的是double型。
第3个回答  2015-05-29
clear all;
close all;
clc;
I=imread('rice.png');  %读入的图像,如果是灰度图像,那么I就是像素矩阵  
imshow(I);
save data.mat I   %把I存入data.mat 

load data.mat I   %需要的时候,从data.mat调入I

相似回答