如何用matlab进对RGB图像的读取、灰度、储存?

作者&投稿:撒哑 (若有异议请与网页底部的电邮联系)
如何在MATLAB中读RGB 图像~

使用imread函数
例如
f = imread('e:\image.jpg');
f是得到的图像矩阵,e:\image.jpg是欲读取图像所在路径,如果就在当前工作目录,也可以使用相对路径的形式。

颜色信息丢失,不可能回复到彩色了。

你看一下I是不是三维矩阵,如果是二维矩阵说明bmp文件是索引格式的。用下面的命令
[I map]=imread('D:\机器视觉\新建文件夹 (2)\Capture1.bmp');
L=ind2gray(I,map);

rgb2gray 转化规则是:
0.2989 * R + 0.5870 * G + 0.1140 * B
只要不是索引图都可以转灰度!
所以你这样的错误有三个可能:
1 图像是索引图有map(bmp,QQ截图可能会产生索引图,I=imread('D:\机器视觉\新建文件夹 (2)\Capture1.bmp');你双击I,看是不是有map+m*n矩阵,有则是索引图导致错误 )
T = inv([1.0 0.956 0.621; 1.0 -0.272 -0.647; 1.0 -1.106 1.703]); 这是检测矩阵合法性奇异性,如果是索引图那么就报错!
2 L=ind2gray(I); 哈哈要L=ind2gray(I,map)错误就在此哦!
以后要多注意图片类型!

3 提示以后不要用中文I=imread('D:\机器视觉\新建文件夹 (2)\Capture1.bmp');

ind2gray

Convert indexed image to grayscale image
Syntax

I = ind2gray(X,map)
明白了吧!看看help!
希望对你有用!

bmp文件先转成tif或者jpg再进行函数转换.

关注!


用matlab对文件进行批处理
方法一、点开屏幕上方菜单“试图”,选“工具栏”,弹出窗口后在你想要现实的工具条名字前面点一下打上对钩,工具条就出现了。方法二、1、单击顶层工具栏里的“工具”,接着点击最后的“选项”。在选项栏进去之后的页面选择倒数第二个“配置”。2、左边的白框里有多种选择,不用管它的存在。直接...

如何用matlab进行分位数回归?小白学习matlab处理数据从何开始
如何用matlab进行分位数回归?小白学习matlab处理数据从何开始 matlab自带的一些常用分布的分布律或概率密度。 如果把分布函数名的后缀cdf改为inv,便得到了相应分布函数的反函数.这些常用分布的分布函数及其反函数对于实际应用很方便。

如何用matlab对这个函数进行积分。
1、双击matlab软件图标,打开matlab软件,如下图所示。2、使用syms命令,创建七个符号变量a、b、c、d、x、y、z,如下图所示。3、这里进行一个较为复杂的积分举例,使用符号变量a、b、x、y、z,创建多元函数A,其中A=32*a+b^5+sin(7*z)+x*y,如下图所示。4、使用函数int(A,'a'),求解...

如何使用matlab命令进行LU分解
1、双击matlab软件图标,打开matlab软件,可以看到matlab软件的界面。2、使用函数pascal(5)创建5x5的矩阵A。3、使用函数chol(A)对矩阵A进行Cholesky分解。4、使用函数表达式[B,C]=lu(A)对矩阵进行LU分解,也成为高斯消去法。其中B是下三角矩阵,C是上三角矩阵。5、使用函数magic(4)创建一个4x4的矩阵...

用matlab调用图片:若要对E盘中的图片gao.jpg进行matlab处理,怎样调用...
直接用imread就行了,得到一个3维的矩阵,你要是像得到灰度矩阵可以进行灰度转化 Img=imread('E:\\gao.jpg');mgI=grb2gray(Img);%灰度转化 很多处理都需要求得灰度矩阵 如果你要读取E盘里很多图片可以这样做 p1=dir(''E:\\*.p*');%读取文件夹里的 所有图片 [r1 c1]=size(p1);for i=1...

关于用matlab进行向量归一化的问题
归一化的种类很多的,向量的归一化后的和不是1,是向量的长度为1,具体的方法就是把向量的每一个量都除以向量的长度!

如何在matlab中使用multimeter进行测量?
simulink中multimeter的用法进行锁相环参数设置就可以把要测量的量添加到那个对话框中,步骤如下:1、首先第一步就是要把Simulink中新建“New Model”,按如下电路搭建模型即可。2、接着就是要进行电源模块和测量模块的参数设置如下:(注意的是电源模块为工频和3次谐波的叠加),如下图所示。3、然后就...

matlab安装完成后怎么用呢?
1、安装完成后,软件会有一点简单的提示,如下图所示。点击下一步,完成。2、安装完成后还需要进行激活。如果你让软件自动创建快捷方式了,可以直接双击桌面上的快捷方式,否则可以进入到安装文件目录“C:\\Program Files\\MATLAB\\R2012a\\bin\\win32”,打开“activate_matlab.exe”,即可进入到激活界面,...

利用matlab 进行主成分分析时如何获得主成分得分矩阵,或者获得主成分得 ...
在软件Matlab中实现主成分分析可以采取两种方式实现:一是通过编程来实现;二是直接调用Matlab中自带程序实现。通过直接调用Matlab中的程序可以实现主成分分析:式中:X为输入数据矩阵 (一般要求n>m)输出变量:①pc 主分量fi的系数,也叫因子系数;注意:pcTpc=单位阵 ②score是主分量下的得分值;得分...

...文件,里面都是16进制数,一维的,我想用MATLAB将图形画出来,哪位高...
matlab可以读入二进制文件 data_fname = 'data.dat';file_id = fopen(data_fname, 'rb');[read_array, readnmuber] = fread(file_id, 512, 'int16') ; %读入512个int16格式数据,可循环多次 ...fclose(file_id);数据读入read_array中,根据你的数据定义画图 另外,虚机团上产品团购,超级...

洮南市18311968429: 如何在MATLAB中读RGB 图像 -
都研鲜竹: 使用imread函数例如f = imread('e:\image.jpg');f是得到的图像矩阵,e:\image.jpg是欲读取图像所在路径,如果就在当前工作目录,也可以使用相对路径的形式.

洮南市18311968429: MATLAB RGB图像处理
都研鲜竹: 既然是对每一个的操作都是一样的,就可以直接对图像的像素矩阵进行操作,效果和你用循环对每一个点操作是一样的. 例如: I=imread('XXXX'); imshow(I); % 第3步 I2 = 255-I; I = FIX*I2; I = (1-FIX)*I; 下面就是内插融合了,不知道你这个具体的意思是什么?是直接相加还是别的操作,就按照算法的原理来写融合的程序就行了. 如果不用上面的操作,也可以用循环,对每个像素的R,G,B值进行操作,效果是一样的.

洮南市18311968429: 如何运用matlab对图像进行处理 -
都研鲜竹: 1、你什么图像?rgb、灰度图还是二值图像?rgb的话反什么色?二值图像反色:bw1=~bw;%bw是原二值图像,bw1为反色后图像2、rgb到灰度图:p=imread('tuxiang.jpg');%rgb图gray=rgb2gray(p);%灰度图figure,imshow(gray);%显...

洮南市18311968429: 刚开始学matlab,请问要怎么用matlab读取JPG格式的图片其中一部分RGB值呢?谢谢~ -
都研鲜竹: 因为image就是这样的,不可能出现负值.你把image先转成int矩阵,然后对矩阵进行运算,我给你举了一个例子,你看一下:>> a=imread('test1.bmp');>> size(a) ans = 901 1201 3>> b=a;>> b(901,1201,1)=-1;>> b(901,1201,1) %这个时候我没有转,所以即使是-1显示的还是0 ans = 0>> b=int16(b); %转成整数矩阵>> b(901,1201,1)=-1;>> b(901,1201,1) ans = -1>>

洮南市18311968429: 怎么用MATLAB显示RGB对应的256种色彩映像 -
都研鲜竹: MATLAB有一个叫颜色映象的数据结构来代表颜色值.颜色映象定义为一个有三列和若干行的矩阵.利用0到1之间的数,矩阵的每一行都代表了一种色彩.任一行的数字都指定了一个RGB值,即红、黄、蓝三种颜色的强度,形成一种特定的颜...

洮南市18311968429: 用matlab进行图片某点的rgb值读取,该用什么函数读值啊? -
都研鲜竹: clear all,clc; im=imread('1.jpg');%1.jpg为图片,在m文件所在目录下 s=size(im); R=im(:,:,1); G=im(:,:,2); B=im(:,:,3); R=reshape(R,[s(1),s(2)]); G=reshape(G,[s(1),s(2)]); B=reshape(B,[s(1),s(2)]); r=mean(mean(R));%红色均值 g=mean(mean(G));%绿色均值 b=mean(mean(B));%蓝色均值

洮南市18311968429: 你好,可以告诉我怎样matlab读取图像RGB值吗,可以告知算法吗,我是初学者,先谢谢啦 -
都研鲜竹: clear all,clc; img=imread('test.jpg'); s=size(img); R=img(:,:,1); G=img(:,:,2); B=img(:,:,3); R=reshape(R,[s(1),s(2)]); G=reshape(G,[s(1),s(2)]); B=reshape(B,[s(1),s(2)]);

洮南市18311968429: matlab 提取彩色部分的RGB -
都研鲜竹: matlab 提取RGB颜色分量 a=imread('keli.tif'); [r,c,d]=size(a);%提取红色分量 red=a; red(:,:,1)=a(:,:,1); red(:,:,2)=zeros(r,c); red(:,:,3)=zeros(r,c); red=unit8(red); red=uint8(red); subplot(131),imshow(red);% 提取绿色分量 green=zeros(r,c); green(:,:,2)...

洮南市18311968429: 现在已经分别得到R,G,B三列数据,怎样用Matlab显示RGB图像? -
都研鲜竹: imdata = imread('ngc6543a.jpg');%imdata为rgb数据 imwrite(imdata,'myPic.bmp');%写图片 imshow('myPic.bmp')%显示你写的图片 这样就可以啦 你如果有数据,直接用imwrite写图片就可以了,不用我的第一步读图片数据

洮南市18311968429: 如何采用matlab将图像灰度化 -
都研鲜竹: 如何采用matlab将图像灰度化 MyYuanLaiPic = imread('e:/image/matlab/darkMouse.jpg');%读取RGB格式的图像 MyFirstGrayPic = rgb2gray(MyYuanLaiPic);%用已有的函数进行RGB到灰度图像的转换[rows , cols , colors] = size(MyYuanLaiPic);%得到原来图像的矩阵的参数

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网