怎样在matlab中显示图像坐标x,y及灰度值?

已解决

clear;
cla
I=imread('骨架.jpg');
I=rgb2gray(I);
J=edge(I,'canny',graythresh(I));
subplot(121),imshow(I),title('原图')
subplot(122),imshow(J),title('边界图')

Matlab中如何读出写入图像文件以及对图像的简单处理
MATLAB图像处理工具箱支持四种基本图像类型:索引图像、灰度图像、二进制图像和RGB图像。MATLAB直接从图像文件中读取的图像为RGB图像。它存储在三维数组中。这个三维数组有三个面,依次对应于红(Red)、绿(Green)、蓝(Blue)三种颜色,而面中的数据则分别是这三种颜色的强度值,面中的元素对应于图像中的像素点。设所得矩阵为X三维矩阵(256,256,3) ,X(:,:,1)代表红颜色的2维矩阵 X(:,:,2)代表绿颜色的2维矩阵, X(:,:,3)代表兰颜色的2维矩阵。[X, map]=imread('34.bmp');r=double(X(:,:,1)); %r是256 x 256的红色信息矩阵g=double(X(:,:,2)); %g是256 x 256的绿色信息矩阵b=double(X(:,:,3)); %b是256 x 256的兰色信息矩阵
索引图像数据包括图像矩阵X与颜色图数组map,其中颜色图map是按图像中颜色值进行排序后的数组。对于每个像素,图像矩阵X包含一个值,这个值就是颜色图数组map中的索引。颜色图map为m×3双精度矩阵,各行分别指定红、绿、蓝(R、G、B)单色值,map=[RGB],R、G、B为值域为[0,1]的实数值,m为索引图像包含的像素个数。

对于相同的数据,采用uint8格式比双精度格式节省内存空间,从而更经济。在MATLAB中
如果索引图像的颜色图小于256行,则它的图像矩阵以uint8格式存储,否则以双精度格式存储。
一:imread:从图像文件夹中读取图像。
A = imread(FILENAME,FMT) 读取图像到A,如果文件是包含一灰度图像,A是一二维矩阵,如果文件是包含一真彩色图像(RGB),A是一三维矩阵(M-by-N-by-3)。FILENAME :图像文件名;FMT:图像文件格式;
文件必须在当前目录下,或在Matlab的一路径上。如果 imread不能够找到一名称为FILENAME的文件,那么它将找一名为FILENAME.FMT的文件
[X,MAP] = imread(FILENAME,FMT) 把图像FILENAME读入与它相关的图像色彩信息写入MAP,图像色彩信息值在范围[0,1]中自动地重新调整.
[...] = imread(FILENAME)这种方式是试图得到文件的格式从文件所包含的信息。
[...] = imread(URL,...)从一Internet URL上读图像 URL 必须包含协议(即: "http://").
1.2数据类型:
TIFF的特殊语法:
[...] = imread(...,IDX) 从很多图像TIFF文件中读一个图像;IDX是一个整数值,它显示了所读图像在文件中的顺序,例如:如果 IDX是 3, imread将读文件中的第三个图像。 如果省略了这个变量, imread将读文件中的第一个图像.
IMREAD支持的图像文件格式:JPEG TIFF GIF BMP PNG HDF PCX XWD ICO CURRAS PBM PGM PPM
相关信息也可在Matlab中查看: imfinfo, imwrite, imformats, fread,
二:imwrite输出图像
imwrite(A,FILENAME,FMT) 把图像 A 写入图像文件 FILENAME.
imwrite(X,MAP,FILENAME,FMT) 把 X和它的相关色彩信息MAP写入FILENAME.
imwrite(...,FILENAME) 把图像写入图像文件FILENAME,并推测可能的格式用来做filename的扩展名。扩展名必须是FMT中一合法名.
imwrite(...,PARAM1,VAL1,PARAM2,VAL2,...) 不同的参数控制输出文件的各种不同特征。参数要是当前所支持的HDF,JPEG, TIFF, PNG, PBM, PGM, 和PPM 文件
三:image 显示图像.image(C) 把矩阵 C 转成一图像. C 可以是一MxN 或 MxNx3维的矩阵,且可以是包含 double, uint8,或 uint16 数据.image是用来显示附标图像,即显示的图像上有x,y坐标轴的显示,可以看到图像的像素大小。但可以加上axis off命令即可把坐标去掉。
imshow只是显示图像。用colormap来定义图像显示用的颜色查找表,比如用colormap(pink),可以把黑白图像显示成带粉红色的图像。
图像像素矩阵的数据类型:(1)显示真彩色图像像素三维矩阵X,如果是uint8类型,要求矩阵的数据范围为0-255,(2)如果是double型,则其数据范围为0-1,要不就会出错或者出现空白页。
类型转换:(1)如果你原来的数值是uint8,在运算中转换为double后,实际要显示的数值没有改变的话,只要用uint8(X)就可转换为uint8型,如果不想转换频繁,也可在显示时用X/255来转换为符合0-1double类型范围要求的数值显示。(2)如果显示索引图像(二维矩阵),如果索引图像像素数值是double型,则它的取值范围为1-length(colormap),数值起点为1,则矩阵中数值为1的对应colormap中第一行数据,如果索引图像像素数值是uint8,则取值范围为0-255,数值起点为0,则矩阵中数值为0的对应colormap中第一行数据,所以索引图像这两个数据类型之间的转换,要考虑到+1或-1。直接用uint8或double转换则会查找移位,产生失真情况。uint16数据类型与uint8类似,取值范围为0-65536。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-22
图像ij点的灰度值为b=I(i,j);
第2个回答  2020-03-23
请问您怎么解决的呢
第3个回答  2012-04-13
请将问题提的更明确一些,灰度值是一个数字,数字怎么显示出来?

matlab中怎么输出图像的一行或一列的像素值
如果I是存储的灰度图像的矩阵,假设你的点坐标为(x,y),则I(x,y)就是该点的灰度值

MATLAB求图像的灰度值
用imread("")把图片读进来,再转换成grey模式(灰度模式),得到的就是一个灰度矩阵,要获取某个点的灰度值就和数字矩阵中获得某个点的数的方法是一样的;例如:i=imread('tuxiang.jpg');%i是彩色图像 i1=rgb2gray(i);%i1就是灰度图像 i1(x,y)%就是(x,y)点的灰度值 i1(x1:x2,y1:y...

怎样用matlab输出一幅图像某一行的灰度值
function greyValue = calcRowGrey(pic)备注:输入值为读取文件后的图像数据,可以是m行 n列 或者是[m*n*3] (彩色图片)直接计算灰度值,如果是黑白图像,计算结束 greyValue = sum(greyValue ,2);判断如果是彩色图像 if length(size(greyValue )>2 greyValue = sum(greyValue ,3);end ...

matlab怎么读取一幅图像,并转换为灰度图像
1、打开图片:在主界面上输入命令将图像转换为数据;Data = imread('folder icon.bmp')。2、查看数据:双击工作区中的数据,我们可以看到图像数据的具体信息。3、验证图像结果:输入命令,我们可以看到数据数据是图片所代表的;Imshow(数据)。4、灰度说明:我们可以通过输入指令获得灰度后的矩阵; GDATA ...

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

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

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

怎么用matlab显示一张图片和它的灰度直方图!本人绝对小白!
如果是彩色图像,要对R、G、B3个分量分别画出直方图,如果是灰度图像,直接用imhist(image)就可以画出,imhist只可以画二维的灰度直方图

怎么用matlab显示一张图片和它的灰度直方图?
close all I = imread('C:\\Documents and Settings\\dmt\\桌面\\实习\\图像\\灰度图像\\lenna.bmp')imshow(I);imhist(I);MATLAB MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

求用MATLAB显示灰度图像的直方图的操作详细步骤,小白求!
1、打开MATLAB需要处理的图像,然后再下面写出代码是:pic[i,j]=(255)\/(u*v)*sum(c[:int(img[i,j])])。2、然后接下来就可以看到图像均衡化的图片。3、最后,画出均衡化图片的直方图如图所示,衡化前后,图片对比一下,这样就可以解决问题了。

相似回答