使用自相关函数的纹理图像周期计算

来源:互联网 发布:哈耶克的著作 知乎 编辑:程序博客网 时间:2024/04/30 16:56

在进行纹理分析时计算纹理周期有很大作用,而自相关函数用来计算纹理周期具有很好的效果。要计算纹理图像的自相关函数值,可以使用matlab里面的xcorr2函数。具体代码如下:

clear;clc;I = imread('1.jpg');GRAY=rgb2gray(I);LENGTH=40;WIDTH=size(I,2);HEIGHT=size(I,1);MED=medfilt2(GRAY);corr=xcorr2(MED);for i=0:LENGTH    rho(i+1)=WIDTH*corr(HEIGHT,WIDTH-i)/(corr(HEIGHT,WIDTH)*(WIDTH-i));endsubplot(1,2,1);plot(linspace(0,LENGTH,LENGTH+1),rho, '-*');[peaks,location]=findpeaks(rho);count=size(peaks,2);diff=zeros(1,count);diff(1)=location(1)-1;for i=1:count-1    diff(i+1)=location(i+1)-location(i);endsubplot(1,2,2);plot(linspace(1,count,count),diff, '-*');period=round(sum(diff)/count)

自相关函数值的计算结果如下,最后计算出的纹理周期为6个像素。



0 0
原创粉丝点击