主要内容

阅读和分析图像文件

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

确定两个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图像的所有像素值。如果平均值大于以前的映像,然后作为新的最高记录(maxAvgH,maxAvgS,或maxAvgV),并记录相应的图像数据(dataH,数据,或dataV)。

i = 1:长度(ds.Files)数据= readimage (ds,我);%读第i个形象如果~ ismatrix(数据)%只有过程三维颜色数据hsv = rgb2hsv(数据);%计算HSV从RGB数据值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”,“健康”);标题(最大平均色调的)

图包含一个坐标轴对象。坐标轴对象标题最大平均色调包含一个类型的对象的形象。

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

图包含一个坐标轴对象。坐标轴对象标题最大平均饱和度包含一个类型的对象的形象。

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

图包含一个坐标轴对象。坐标轴对象标题最大平均亮度包含一个类型的对象的形象。

另请参阅

||

相关的话题