我有几百张像这样的图像:
它们位于一个文件夹中,我试图在Matlab中找到一种方法来自动分析每个图像的像素值 (700,755)
. 我知道如何一次一个地做这个,如下:
rgb=impixel(p,700,755)
这将返回图像特定点的红绿蓝值 . 我是Matlab的新手......什么样的代码会分析文件夹中的每个图像并将 RGB
值保存在表/数组的不同行中?
此外,我使用像素区域工具选择了一个区域:'[696.463836477986 750.095011390851 19.9889937106933 13.3672527600921]'如何分析该区域中的所有像素值并获取统计数据(最小值,最大值,平均值等)...为文件夹中的所有200张图片做到这一点?
我很感激帮助!美联社
1 回答
impixel
也适用于所有图像:或者对于特定(像素)列和行:
但您首先需要将图像读入矩阵 .
imread
函数返回数组中图像的所有RGB
数据:它从字符串
filename
指定的文件中读取grayscale
或color
图像 . A是包含图像数据的数组 . 如果文件包含'grayscale'图像,则A是'M-by-N'数组 . 如果文件包含'truecolor'图像,则A是'M-by-N-by-3'数组 . (3:R-G-B)要读取文件夹中的一堆文件,请执行以下操作:
您可以使用
imcrop
功能裁剪您拥有的图像:使用鼠标:
或使用尺寸: