我在处理三维图像,请问我如何用matlab读取所有像素的灰度值和坐标值呢?O(∩_∩)O谢谢

如题所述

a=imread('图片位置.jpg');图片为RGB图片
R=a(:,:,1);红色分量
G=a(:,:,2);绿色分量
B=a(:,:,3);蓝色分量
图像是以矩阵的形式出现,所以其行数和列数就是其坐标值。假如R(29,65)中的29是横坐标,65是纵坐标。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
如果读取灰度值,直接将RGB图像转化为灰度图像
a=imread('图片位置.jpg');图片为RGB图片
b=rgb2gray(a);
b中的数据就是图像的灰度值,坐标值和上面所说的一样。追问

非常感谢,不过我是刚刚学matlab,比较愚笨,想问我处理的是灰度图像,怎么办呢?另外三维坐标也可以求出吗?谢谢。

追答

灰度图像读入后,a矩阵里的值就是灰度值。RGB图片有三个分量,假设三个分量的值为255 255 255,那么合成后就是白色。它没有什么三维坐标。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-08
你说的3D图像是指RGB彩色图像么,讲白的话很简单的。R通道,I(:,:,1),G通道I(:,:,2),B通道(:,:,3);也就是把这个3D矩阵分解成3个2D矩阵,每个矩阵的上点的值就是每个像素的像素值了,其位置就是坐标咯

如何利用matlab提取一幅图像的所有灰度值,并计算均值,方差,CV 值?_百...
读入rgb图像——i=imread(...);然后转换成灰度图像——i=rgb2gray(i);计算均值——mean(mean(i));计算方差——var();

matlab如何批量提取图像灰度值
用for循环遍历所有需要处理的文件即可。如果文件的命名有规律(例如0001.bmp, 0002.bmp, ...),可以用sprintf函数直接生成文件名;如果不满足上述条件,但文件在集中存放某个文件夹中,可以用dir获取文件列表;如果文件没有规律,存放的位置也比较乱,那就直接手写一个cell数组,用以指定要处理的文件列表...

matlab求取图像的灰度图、图像轮廓以及二值化图像
在MATLAB中进行图像处理时,图像的灰度化、轮廓检测以及二值化是常见的步骤。首先,对于灰度图像的获取,你可以借助rgb2gray函数。这个函数采用标准的灰度转换公式,将彩色图像转换成单一的灰度值表示,便于后续处理。接着,轮廓检测是通过edge函数实现的。它支持多种边缘检测算法,如Sobel、Canny和Prewitt,这些...

matlab读取灰度图灰度值
你说的是将灰度图片读入到一个数组吗?是的话可以用matlab中的imread函数,比如一个图片image.jpg,可以用f = imread('image.jpg');将它读到数组f中去,但是你必须先将该图片放到Matlab的搜索路径中去,要让matlab能找得到。

怎么用matlab提取灰度值啊?
1.调用matlab的图像读取函数imread读图片,把图片放在work文件夹下 I = imread('样品.jpg');2.变为灰度图 G = rgb2gray(I);3.双击workspace中的G项,在弹出的array edit中就看到了灰度矩阵

怎样在matlab下一次性读取电脑上的一系列图像的灰度值?
这个可以。利用eval函数和for循环可以达到你的目的,但是需要你的图片文件名有一定的规律,比如说 pic1.bmp pic2.bmp pic3.bmp ...这样的。

matlab中怎么输出图像的一行或一列的像素值
坐标如果知道的话,该点的像素值很容易得到的。例如:如果I是存储的灰度图像的矩阵,假设你的点坐标为(x,y),则I(x,y)就是该点的灰度值

如何用matlab搜索图像某一行的灰度值
调用matlab的图像阅读功能imread读取图片,图片上的工作文件夹 I = imread('样品JPG');变为灰度 G = rgb2gray(I); \/>双击工作区G,在弹出阵列编辑看到灰色的矩阵

matlab 如何计算一幅图像中某一灰度值的像素个数
1、第一步,打开需要处理的图像,然后编写以下代码,见下图红框标注处,转到下面的步骤。2、第二步,执行完上面的操作之后,可以看到图像均衡的图片,见下图,转到下面的步骤。3、第三步,执行完上面的操作之后,画出平衡图片的直方图,在平衡前后对图片进行比较,见下图。这样,就解决了这个问题了。

matlab 判断图像每个像素值的灰度值,灰度值小于某值时用白色显示出来...
假设A是图像所代表的矩阵,value为某一灰度值,num为图像A中该灰度值的像素个数,则有:[r,c]=find(A==value);num=length(r);或者num=sum(sum(A==value));

相似回答