我使用图像检索系统中的图像颜色直方图的偏度和峰度函数作为统计颜色特征,然后使用这些特征来比较两个图像以检索相似图像....但我得到'NaN'值一些导致图像检索过程出错的结果:
S=double(imread('im.jpg'); R=S(:,:,1)/64; R1=floor(R); G=S(:,:,2)/64; G1=floor(G); B=S(:,:,3)/64; B1=floor(B); [rr cc c]=size(R1); ImageHist = zeros(4,4,4); for row = 1 :rr for col = 1:cc ImageHist(R1(row,col)+1, G1(row,col)+1,B1(row,col)+1 )= ImageHist(R1(row,col)+1, G1(row,col)+1,B1(row,col)+1)+1; end end ImageHist = ImageHist/(rr*cc);
然后我将Kurtosis计算为:
QKurColHis = kurtosis(ImageHist);
我对第二个功能(偏斜)做了同样的事情
使用此功能对颜色直方图提取颜色特征是否合适?然后在图像检索中使用它?
如果没问题,如何更正此错误,如何从mat.file中删除NaN
值?
我想将这些功能用作彩色图像之间匹配的图像功能......任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
我不知道内置峰度函数是如何工作的,但可能是你必须提供一个向量而不是3D矩阵作为输入
kurtosis(ImageHist(:))
除了NaN问题,峰度和偏度为您提供了有关ImageHist中数据统计分布的一些信息,因此可以将它们视为一些图像特征。但他们在图像匹配方面的表现有多好,很难说。