主要内容

读取和分析图像文件

这个示例展示了如何为图像集合创建数据存储,读取图像文件,并查找具有最大平均色调、饱和度和亮度(HSV)的图像。的类似的图像处理示例mapreduce功能,请参阅用MapReduce计算图像的最大平均HSV

识别两个MATLAB®目录和创建一个数据存储包含图像jpg.tif,. png这些目录中的扩展。

location1 = fullfile (matlabroot,“工具箱”matlab的“演示”);location2 = fullfile (matlabroot,“工具箱”matlab的“imagesci”);ds = imageDatastore ({location1、location2},“FileExtensions”,{“jpg”“.tif”“使用”});

初始化HSV的最大平均值和对应的图像数据。

maxAvgH = 0;maxAvgS = 0;maxAvgV = 0;dataH = 0;数据= 0;dataV = 0;

对于集合中的每个图像,读取图像文件并计算所有图像像素的平均HSV值。如果平均值大于前一幅图像的平均值,则将其记录为新的最大值(maxAvgHmaxAvgS,或maxAvgV),并记录相应的图像数据(dataH数据,或dataV).

i = 1:length(ds. files) data = readimage(ds,i);%读取第i个图像如果~ ismatrix(数据)%只处理三维色彩数据hsv = rgb2hsv(数据);%从RGB数据计算HSV值h = hsv (:: 1);%提取HSV值s = HSV(::,2);v = HSV(::,3);avgh =卑鄙(h(:));%找到整个图像的平均HSV值avg =意味着(s (:));avgV =意味着(v (:));如果avgH > maxAvgH%检查新的最大平均色调maxAvgH = avgH;dataH =数据;结束如果avg > maxAvgS检查新的最大平均饱和度maxAvgS = avg;数据=数据;结束如果avgV > maxAvgV%检查新的最大平均亮度maxAvgV = avgV;dataV =数据;结束结束结束

查看图像最大的平均色调,饱和度和亮度。

imshow (dataH“InitialMagnification”“健康”);标题(最大平均色调的

图中包含一个轴对象。标题为Maximum Average Hue的axis对象包含一个类型为image的对象。

图imshow(数据,“InitialMagnification”“健康”);标题(“最大平均饱和度”);

图中包含一个轴对象。标题为“最大平均饱和度”的轴对象包含一个类型为image的对象。

图imshow (dataV,“InitialMagnification”“健康”);标题(最大平均亮度的);

图中包含一个轴对象。标题为“最大平均亮度”的轴对象包含一个类型为image的对象。

另请参阅

||

相关的话题