计算目录和查询图像中图像的直方图

时间:2015-03-26 16:53:39

标签: image matlab image-processing

我试图计算目录中图像的直方图,这就是我所做的:

    function d = calcHist(img)

% %Compute histograms for entire collection
% % Query by example
fileName2 = 'a/b/*.png';
file2 = dir(fullfile(pwd,fileName2));
for j = 1:size(file2)
    d = imread(file2(j).name);
% figure('Name','RGB Image')
% imagesc(d)
% axis image
    [IND,map] = rgb2ind(d,32);
% figure('Name','Indexed image with 32 colours')
% imagesc(IND)
    colormap colorcube(map)
% axis image
   imhist(IND,map)
------------------------------------
 %% calculate histogram for a query image
s = imread(img);
[A,cmap] = rgb2ind(s,32);
figure ('Name', 'imge')
imagesc(s)
colormap colorcube(cmap)
axis image
imhist(A,cmap)

end

基本上,我试图通过此功能实现的目的是将图像转换为直方图颜色,并比较两个直方图(目录图像直方图和查询图像直方图),这些直方图会从比较中输出不同的值。 / p>

第一部分输出图像及其直方图,第二部分输出查询图像的直方图。我试图计算文件夹/目录中每个图像的直方图,这样我就可以使用一个以2个直方图作为输入的函数将它们与查询图像进行比较。

我有一个compare(h1,h2)函数,它从目录和查询图像中获取直方图以获得它们的交集。现在的问题是我不确定如何从上面的代码中获取h1和h2。我尝试为imhist(IND,map)分配一个值,但它不起作用。如果我不够清楚,我道歉。

另外,是否可以使用hist而不是hist? 我在MATLAb中并不是很擅长,因为我刚刚开始学习它,因为我犯了任何错误。

0 个答案:

没有答案