主要内容

读取和分析图像文件

此示例演示如何为图像集合创建数据存储,读取图像文件,并查找具有最大平均色调、饱和度和亮度(HSV)的图像地图还原函数,请参见使用MapReduce计算图像的最大平均HSV.

确定两个MATLAB®目录,并创建一个包含图像的数据存储,其中包含jpg先生,.tif.png这些目录中的扩展。

位置1=完整文件(matlabroot,“工具箱”,“matlab”,“演示”); 位置2=完整文件(matlabroot,“工具箱”,“matlab”,“imagesci”);ds=图像数据存储({location1,location2},“文件扩展名”,{“.jpg”,“.tif”,“.png”});

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

maxAvgH=0;maxAvgS=0;maxAvgV=0;dataH=0;dataS=0;dataV=0;

对于集合中的每个图像,读取图像文件并计算所有图像像素的平均HSV值。如果平均值大于先前图像的平均值,则将其记录为新的最大值(maxAvgH,maxAvgSmaxAvgV)并记录相应的图像数据(达塔,数据数据电视).

对于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值平均值=平均值(s(:);avgV=平均值(v(:);如果avgH>maxAvgH%检查新的最大平均色调maxAvgH=avgH;dataH=data;终止如果avg > maxAvgS%检查新的最大平均饱和度maxAvgS=平均值;数据=数据;终止如果avgV>最大avgV%检查新的最大平均亮度maxAvgV=avgV;dataV=数据;终止终止终止

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

imshow(dataH,“初始放大”,“适合”);头衔(“最大平均色调”)

Figure包含axes对象。标题为“最大平均色调”的axes对象包含image类型的对象。

图imshow(数据、,“初始放大”,“适合”);头衔(“最大平均饱和度”);

Figure包含axes对象。标题为“最大平均饱和度”的axes对象包含image类型的对象。

图imshow(数据电视,“初始放大”,“适合”);头衔(“最大平均亮度”);

Figure包含axes对象。标题为“最大平均亮度”的axes对象包含image类型的对象。

另见

||

相关的话题