主要内容

读取和分析图像文件

此示例显示如何为图像集合创建数据存储,读取图像文件,并找到具有最大平均色调,饱和度和亮度(HSV)的图像。在使用图像处理的类似示例Mapreduce.功能,参见使用MapReduce计算图像的最大平均HSV

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

location1 = fullfile(matlabroot,'工具箱''matlab''演示');位置2 = fullfile(matlabroot,'工具箱''matlab''imagesci');DS = ImageageTastore({location1,location2},'fileextensions',{'.jpg''.tif''.png'});

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

maxavgh = 0;maxavgs = 0;maxavgv = 0;datah = 0;数据= 0;datav = 0;

对于集合中的每个图像,读取图像文件并计算所有图像像素的平均HSV值。如果平均值大于上一个图像的值,则将其记录为新的最大值(maxavgh.maxavs., 或者maxavgv.)并记录相应的图像数据(datah.数据, 或者Datav.)。

为了i = 1:长度(ds.files)data = ReadImage(DS,i);%读取了iTh图像如果〜ISMatrix(数据)%仅处理三维颜色数据HSV = RGB2HSV(数据);%从RGB数据计算HSV值H = HSV(:,:1);%提取HSV值s = HSV(:,:,2);v = HSV(::,3);avgh =卑鄙(h(:));%找到图像上的平均HSV值avgs =均值(s(:));avgv =均值(v(:));如果avgh> maxavgh.%检查最大的最大平均色调maxavgh = avgh;datah =数据;结尾如果avgs> maxavgs.%检查最高的最大平均饱和度maxavgs = avgs;数据=数据;结尾如果avgv> maxavgv.%检查最大的最大平均亮度maxavgv = avgv;datav =数据;结尾结尾结尾

查看具有最大色调,饱和度和亮度的图像。

imshow(datah,'InitialMagnification''合身');标题('最大平均色调'

图包含轴。标题最大平均色调的轴包含类型图像的对象。

图imshow(数据,'InitialMagnification''合身');标题('最高平均饱和度');

图包含轴。标题最大饱和度的轴包含类型图像的对象。

图imshow(datav,'InitialMagnification''合身');标题('最大平均亮度');

图包含轴。标题最大亮度的轴包含类型图像的对象。

也可以看看

||

相关话题