精华内容
下载资源
问答
  • ca码的产生及其自相关函数,可以控制自相关函数图的颜色及横纵坐标的范围
  • 时间序列分析之自相关函数图

    万次阅读 2017-06-08 20:52:13
    data data$dt data$dt library(dplyr) length(data[,1]) #1613行数据 #生成每天时间 dates #dates2 #dates2$dates #head(dates2) #head(data) #data3 n ...acf(n,type="correlation
    data<-read.csv('aa.csv', stringsAsFactors = FALSE) 
    data$dt<-as.Date(data$dt)
    data$dt<-as.character(data$dt)
    library(dplyr)
    length(data[,1]) #1613行数据
    #生成每天时间
    dates<-seq(from=as.Date('2012-01-01'), by=1, length.out=1613)
    #dates2<-as.data.frame(dates)
    #dates2$dates<-as.character(dates2$dates)
    #head(dates2)
    #head(data)
    #data3<-left_join(dates,data,by=c("dates"="dt"),type="left",match="first")


    n<-ts(data$amt, freq = 1, start =as.Date('2010-10-16')) #区间为1天
    dates<-seq(from=as.Date('2010-10-16'), by=1, length.out=length(data$amt))
    n1<-data.frame(dates,n)
    is.ts(n)



    acf(n,type="correlation",plot = TRUE)

    展开全文
  • 经典的时间序列预测方法都是假设如果一个时间序列有显著的自...什么是自相关和偏自相关函数? 先来解释下滞后阶数n,如果当前值和前2期的值有关,则n=2,那么可以用时间序列和它的2阶滞后序列来训练一个自回归...

    经典的时间序列预测方法都是假设如果一个时间序列有显著的自相关性,那么历史值对预测当前值会很有帮助,但是究竟取多少阶的历史值,就需要通过分析相关函数图和偏相关函数图来得到。本文介绍如何什么是相关函数图和偏相关函数图,另外还会介绍一下滞后图。

    什么是自相关和偏自相关函数?

    • 先来解释下滞后阶数n,如果当前值和前2期的值有关,则n=2,那么可以用时间序列和它的2阶滞后序列来训练一个自回归模型,预测未来的值。
    • 自相关函数(ACF)表达了时间序列和n阶滞后序列之间的相关性(考虑了中间时刻的值的影响,比如t-3对t的影响中,就同时考虑了t-2,t-1对t的影响)。
    • 偏自相关函数(PACF)表达了时间序列和n阶滞后序列之间的纯相关性(不考虑中间时刻的值的影响,比如t-3对t的影响中,不会考虑t-2,t-1对t的影响)。如果用自回归方程来预测t时刻的值,则各滞后阶数的系数就是各滞后阶数下的偏自相关值,比如下面方程的α1,α2,α3,分别是1阶滞后,2阶滞后,3阶滞后下的偏自相关值。

    ACF 和 PACF 可视化

    from statsmodels.tsa.stattools import acf, pacf
    from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
    
    df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/a10.csv')
    # Calculate ACF and PACF upto 50 lags# acf_50 = acf(df.value, nlags=50)# pacf_50 = pacf(df.value, nlags=50)
    # Draw Plot
    fig, axes = plt.subplots(1,2,figsize=(16,3), dpi= 100)
    plot_acf(df.value.tolist(), lags=50, ax=axes[0])
    plot_pacf(df.value.tolist(), lags=50, ax=axes[1])
    

    • 如果ACF表现为长拖尾(如上左图),说明带有趋势,需要做差分。
    • 如果ACF的1阶滞后就截尾,则可能是过度差分了(差分会降低相关性)。
    • 如果ACF拖尾一点点,然后截尾的情况下,选择的差分阶数是比较合适的。此时可以用前n个历史时刻的值做自回归来预测当前值,关于n的取值则可以参考PACF的截尾处,假设上右图是差分后的pacf图,在第2个滞后阶数后(从第0开始,0阶滞后下就是原序列和原序列相比,相关性为1)就骤然降到了相关性置信区间内,则表示95%的概率不具有相关性,所以该序列可以做2阶滞后自回归。

    什么是相关性置信区间?

    对于白噪声序列,按理说不会有任何自相关性,我们期望的自相关性为0,但是由于随机扰动的存在,自相关性不会为0,而通常假设随机扰动符合标准正态分布(均值为0,标准差为1),那么这个随机扰动的95%置信区间(一般都取95%,当然也可以调整这个概率)可以通过如下算式计算

    标准正态分布的z分数表示距离均值有几个标准差,σ除以根号T表示有偏样本标准差,
    这里95%置信度下z分数=1.96,标准差σ=1,T是序列长度,则置信区间计算如下:

    表示对于白噪声序列,95%的自相关性落在这个置信区间内。
    而这个置信区间就是上面acf和pacf图中的相关性区间了,也就是说如果滞后阶数与原序列的相关性落在这个区间内,就表示不相关。

    滞后图

    滞后图是用时间序列和相应的滞后阶数序列做出的散点图。可以用于观测自相关性。

    from pandas.plotting import lag_plot
    plt.rcParams.update({'ytick.left' : False, 'axes.titlepad':10})
    
    # Import
    ss = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/sunspotarea.csv')
    a10 = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/a10.csv')
    
    # Plot
    fig, axes = plt.subplots(1, 4, figsize=(10,3), sharex=True, sharey=True, dpi=100)for i, ax in enumerate(axes.flatten()[:4]):
        lag_plot(ss, lag=i+1, ax=ax, c='firebrick')
        ax.set_title('Lag ' + str(i+1))
    
    fig.suptitle('Lag Plots of Sun Spots Area \n(Points get wide and scattered with increasing lag -> lesser correlation)\n', y=1.15)    
    
    fig, axes = plt.subplots(1, 4, figsize=(10,3), sharex=True, sharey=True, dpi=100)for i, ax in enumerate(axes.flatten()[:4]):
        lag_plot(a10, lag=i+1, ax=ax, c='firebrick')
        ax.set_title('Lag ' + str(i+1))
    
    fig.suptitle('Lag Plots of Drug Sales', y=1.05)    
    plt.show()
    
    


    ok,本篇就这么多内容啦~,感谢阅读O(∩_∩)O。

    展开全文
  • 提出了一种估计分形维数的新方法,并利用...根据自相关函数的性质,获得估计分形维数的自相关函数方法。合成分形图像和自然纹理图像被用来检验该方法的准确性,并与计盒方法进行了比较,结果显示自相关法是准确的和有效的。
  • 图像中通常采用自相关函数作为纹理测度 自相关函数的定义为: 调用自定义函数 zxcor()对砖墙面和大理石面纹理进行分析: 自定义函数 zxcor(): function [epsilon,eta,C] = zxcor( f,D,m,n ) % 自相关...

    图像中通常采用自相关函数作为纹理测度

    自相关函数的定义为:

    调用自定义函数 zxcor()对砖墙面和大理石面纹理进行分析:

    自定义函数 zxcor():

    function [epsilon,eta,C] = zxcor( f,D,m,n )
    % 自相关函数zxcor(),f为读入的图像数据,D为偏移距离,[m,n]是图像的尺寸数据,返回图像相关函数C的值
    % epsilon和eta是自相关函数C的偏移变量
    for epsilon=1:D
        for eta=1:D
            temp = 0;
            fp = 0;
            for x=1:m
                for y=1:n
                    if(x+epsilon-1)>m | (y+eta-1)>n
                        f1=0;
                    else
                        f1 = f(x,y)*f(x+epsilon-1,y+eta-1);
                    end
                    temp = f1+temp;
                    fp = f(x,y)*f(x,y)+fp;
                end
            end
            f2(epsilon,eta)=temp;
            f3(epsilon,eta)=fp;
            C(epsilon,eta) = f2(epsilon,eta)/f3(epsilon,eta);
        end
    end
    epsilon = 0:(D-1);
    eta = 0:(D-1);
    end

    调用函数的测试代码如下:

    close all;clear all;clc;
    f11 = imread('zhuanqiang.jpg');
    f1 = rgb2gray(f11);
    f1 = double(f1);
    [m,n] = size(f1);
    D = 20;
    [epsilon1,eta1,C1]=zxcor(f1,D,m,n);
    f22 = imread('dalishi.jpg');
    f2 = rgb2gray(f22);
    f2 = double(f2);
    [m,n] = size(f2);
    [epsilon2,eta2,C2]=zxcor(f2,20,m,n);
    figure;
    subplot(121);imshow(f11);title('砖墙');
    subplot(122);imshow(f22);title('大理石');
    figure;
    subplot(121);mesh(epsilon1,eta1,C1);
    xlabel('epsilon');ylabel('eta');title('砖墙');
    subplot(122);mesh(epsilon2,eta2,C2);
    xlabel('epsilon');ylabel('eta');title('大理石');

    实验输出如下:

     

    可以看到,自相关函数随着 \varepsilon  和 \eta 的增加,砖墙的下降趋势比大理石的要快很多。可见砖墙表面的粗糙度更大。大理石面纹理的自相关函数下降幅度较小,说明其纹理表面相对光滑。

    展开全文
  • 计算给定系列的 ACF。 通过滞后 p 返回自相关向量。 还生成自相关的条形,带有用于测试的拒绝区域带(在白噪声假设下)每个自相关 = 0。 示例:>> myacf = acf(y,12) 不需要任何工具箱。
  • 理想规则图像特征经标准互相关函数匹配后,相似函数C*(x)可用确定的解析式Z(x)表达。但是对于含噪声图像,相似函数C(x)较之C*(x)发生了变化,但存在“零相似不变性”。将此原理应与于显微视觉中图像物面分辨率的在线...
  • 本文介绍了图像特征分析的常用方法,包括颜色矩、颜色直方、灰度差分统计、自相关函数、灰度共生矩阵。介绍了这些特征量的基本概念、特征规律、以及通过Matlab的实现方法与代码。

    Matlab图像特征分析——颜色矩、直方图、灰度差分统计、自相关函数、灰度共生矩阵

            本人目前耕耘的领域是数字水印,在数字水印处理的过程中会涉到图像的分析,本篇文章主要针对常用的,基础的几种图像分析方法进行简单介绍,以下正文。

            其实,图像分析可以看作是一个信息提取的过程,即从图像中提取想要的数据、信息、度量,再将其描述和表示出来。图像特征是指图像的原始特征或属性,分为视觉特征和统计特征。视觉特征主要是人视觉的直接感受(颜色,大小等),统计特征是指需要通过变换或测量才能得到的人为的特征(频谱、直方图等)。本文主要分析图像颜色特征和纹理特征,并通过Matlab实现特征分析。

    一、 颜色特征

          颜色特征描述了图像或图像区域所对应景物的表面性质,颜色对人眼的敏感度较图像尺寸、方向来说偏低,因此颜色特征被广泛应用于图像识别。常用的颜色表示方法有颜色矩、颜色直方图、颜色相关性等,本文介绍颜色矩和颜色直方图两种方法。

           1.1 颜色矩

            颜色矩是以数学方法为基础的,通常颜色矩直接在RGB颜色空间计算,也可以在其他颜色空间计算。颜色主要信息分布在低阶矩,因此常用一阶矩、二阶矩。其定义如下:

                      一阶矩:

                                      \mu _{i}= \frac{1}{N}\sum_{j=1}^{N}P_{ij}

                       二阶矩:

                                     \sigma _{i} = \left [ \frac{1}{N} \sum_{j=1}^{N}\left ( P_{ij}-\mu_{i} \right )^2\right ]^\frac{1}{2}

            其中 i 代表R、G、B三个颜色通道,j表示像素值,N表示像素数量。从定义可以看出,一阶矩表示每个颜色通道的平均值;二阶矩表示颜色方差。

            代码示例

            Matlab中用mean2()和std()两个函数分别求一阶矩和二阶矩。其代码实现如下:

    close all;
    clear all;
    clc;
    I = imread('flower.jpg '); % 读取指定图像
    J = imread('leaf.jpg '); 
    I = double(I);   %转化数据类型
    J = double(J);
    I_r = I(:,:,1);  %提取红色通道
    I_g = I(:,:,2);  %提取绿色通道
    I_b = I(:,:,3);  %提取蓝色通道
    
    J_r = J(:,:,1);  %提取红色通道
    J_g = J(:,:,2);  %提取绿色通道
    J_b = J(:,:,3);  %提取蓝色通道
    
    Ravg1 = mean2(I_r) %不带分号,将结果显示在命令行窗口
    Gavg1 = mean2(I_g)
    Bavg1 = mean2(I_b)
    Rstd1 = std(std(I_r)) %std是求标准差, 两次std就是方差,即二阶矩
    Gstd1 = std(std(I_g))
    Bstd1 = std(std(I_b))
    
    
    运行结果:
    Ravg1 =
      140.9577
    Gavg1 =
       53.7861
    Bavg1 =
       44.9997
    Rstd1 =
       24.3750
    Gstd1 =
        4.9645
    Bstd1 =
        3.8668

           1.2 颜色直方图

            颜色直方图描述的是图像中不同颜色在整幅图像中所占的比例多少,不关心色彩的位置,适用于描述那些难以自动分割和不需要考虑物体空间位置的图像。设一幅图像的大小为M * N。颜色直方图H的定义为:p_{i} = h_{i} .其中h_{i}是第i种颜色在整幅图像中的具体像素数。图像直方图归一化为:p_{i} = h_{i}/(M*N).

            绘制图像颜色直方图

            imhist() 函数可以计算并绘制图像的颜色直方图。以下为例:绘制彩色图像R、G、B分量的直方图,其具体Matlab的实现如下:

    close all;
    clear all;
    clc;
    I = imread('pic01.jpg');
    I_r = I(:,:,1);
    I_g = I(:,:,2);
    I_b = I(:,:,3);
    figure;
    subplot(221);imshow(I);                            %显示彩色图像
    subplot(222);imshow(I_r);          %R分量灰度图
    subplot(223);imshow(I_g);          %G分量灰度图
    subplot(224);imshow(I_b);          %B分量灰度图
    
    figure;
    subplot(131);imhist(I(:,:,1));title('红色分量直方图');     %显示红色分辨率下的直方图
    subplot(132);imhist(I(:,:,2));title('绿色分量直方图')   %显示绿色分辨率下的直方图
    subplot(133);imhist(I(:,:,3));title('蓝色分量直方图')  %显示蓝色分辨率下的直方图

            其运行结果如下:
                                                                                                 

        使用上述同样的代码。更换一张色彩谝亮一些的图进行同样的测试,其结果如下图:

                                                                                                

                   

            对照这两幅图像的颜色特征解释直方图,直方图的横坐标是0-255,表示像素值;纵坐标表示该像素值在整幅图像中的个数。第一幅图像的颜色比较鲜艳,色彩丰富且图像谝深色一些,故直方图较为均匀(纵坐标的到5000)且数字偏小的像素更多一些;第二幅图像为雪景,图像谝白、谝亮,所以在150-255之间的像素值较多(纵坐标达到7000)。

           2> 图像直方图均衡化

            图像处理中经常有一个操作是图像均衡化,使用histeq()函数。histeq()有以下几种使用方式:

        J = histeq(I,hgram) 变换灰度图像 I,以使输出灰度图像 J 具有 length(hgram) 个 bin 的直方图近似匹配目标直方图 hgram

        J = histeq(I,n) 变换灰度图像 I,以使输出灰度图像 J 具有 n 个 bin 的直方图大致平坦。当 n 远小于 I 中的离散灰度级数时,J 的直方图更平坦。

        J = histeq(I) 变换灰度图像 I,以使输出灰度图像 J 的直方图具有 64 个 bin 且大致平坦。

               用上面的第一个图为例进行一次均衡化,实现如下

    I = imread('pic03.jpg');
    I = rgb2gray(I);
    H = histeq(I);
    figure;
    subplot(121); imshow(I);  title('原始灰度图像');
    subplot(122);imshow(H); title('直方图均衡化图像');
    figure;
    subplot(121); imhist(I);  title('原始灰度图像直方图');
    subplot(122);imhist(H); title('直方图均衡化图像直方图');

    其运行效果入下图:

    灰度图像直方图均衡化处理
    图像直方图

    二、纹理特征

            图像的纹理特征描述图像景物的表面性质,是从图像中计算出的一个值,反应图像对应物品的质地,如粗糙度、颗粒度、随机性和规范性等。图像纹理常被应用于卫星遥感地表图像分析,图像分类、模式识别等。在此我介绍灰度差分统计,自相关函数、灰度共生矩阵三种分析方法。

            2.1 灰度差分统计法

            利用图像直方图提取诸如均值、方差、能量及熵等特征来描述纹理。

            设(x,y)为图像中的一点,该点附近的点(x+\Delta x,y+\Delta y)的灰度差值为: g_{\Delta } = g(x,y) - g(x+\Delta x + y+\Delta y) .差分叫法的由来!

            由直方图可以得到g\Delta取值的概率p(k),直方图平坦时,说明纹理较细致。相关的纹理特征有:

                     平均值:

                                  mean = \sum_{i}ip(i)/M

                       对比度:

                                   con = \sum_{i}i^{2}p(i)

                       熵:

                                  Entropy = -\sum_{i}p(i)log_{2}[p(i)]

            在上述各式中,p(k)较平坦时,熵较大,能量较小,p(k) 越分布在原点附近,则均值越小。基于灰度级的直方图并不能建立特征与纹理基元的一一对应关系,相同的直方图可能会有不同的图像纹理。因此在运用灰度直方图进行纹理分析和比较时,还需要加上其他特征。

            实施例:计算两幅图像的差分统计特性,实现如下:

    clc;
    clear all; close all;
    J=imread('ballon.png');                    %读入纹理图像,分别输入wall.jpg和stone.jpg两幅图进行对比
    A=double(J);
    [m,n]=size(A);                         %求A矩阵的大小,赋值给m n
    B=A;
    C=zeros(m,n);                         %新建全零矩阵C,以下求解归一化的灰度直方图
    for i=1:m-1
        for j=1:n-1
            B(i,j)=A(i+1,j+1);
            C(i,j)=abs(round(A(i,j)-B(i,j)));
        end
    end
    h=imhist(mat2gray(C))/(m*n);
    mean=0;con=0;ent=0;                    % 均值mean、对比度con和熵ent初始值赋零
    for i=1:256                              %循环求解均值mean、对比度con和熵ent          
        mean=mean+(i*h(i))/256;
        con=con+i*i*h(i);
        if(h(i)>0)
            ent=ent-h(i)*log2(h(i));
        end
    end
        mean,con,ent

    计算上面两幅图的结果如下:

     

    平均值

    对比度

    stone

    0.0674

    591.3967

    5.1700

    ballon

    0.0130

    194.3447

    2.0622

            计算结果中,stone的平均值和熵均大于ballon且有显著差异,也就表明stone的纹理较为粗糙。在模式识别领域通常将这些特征作为特征输入量来进行目标的区分。    

        2.2 自相关函数

             纹理常用它的粗糙性来描述。例如,在相同的观看条件下,上例中石子比气球表面粗糙。纹理粗糙性的大小与局部结构的空间重复周期有关,周期大的纹理粗,周期小的纹理细。这种感觉上的粗糙与否不足以作为定量的纹理测度,但至少可以用来说明纹理测度变化的倾向,即小数值的纹理测度表示细纹理,大数值测度表示粗纹理。通常采用自相关函数作为纹理测度。设图像为f(x,y), 自相关函数的定义为:

                      C(\varepsilon ,\eta ,j,k) = \frac{\sum_{x=j-w}^{j+w}\sum_{y=k-w}^{k+w}f(x,y)f(x-\varepsilon ,y-\eta )}{\sum_{x=j-w}^{j+w}\sum_{y=k-w}^{k+w}[f(x,y)]^2}

           它是对(2w+1)*(2w+1)窗口的每一像素点(j,k)于偏离值 \varepsilon ,\eta 的像素之间的相关值作计算。

           示例:调用定义的自相关函数zxcor()对图像进行纹理分析,实现的代码如下:

    clc;
    close all;
    clear all;
    
    P1=imread('stone.png');		
    P1_gray=rgb2gray(P1);									
    P1_gray=double(P1_gray);										
    [m,n]=size(P1_gray);										%图像大小赋值为[m,n]
    D=20;										    	%偏移量为20
    [epsilon1,eta1,C1]=zxcor(P1_gray,D,m,n);						%调用自相关函数
    
    P2=imread('ballon.png');		
    P2_gray=rgb2gray(P2);									
    P2_gray=double(P2_gray);										
    [m,n]=size(P2_gray);										%图像大小赋值为[m,n]
    D=20;										    	%偏移量为20
    [epsilon2,eta2,C2]=zxcor(P2_gray,D,m,n);						%调用自相关函数
    
    figure;
    subplot(121);imshow(P1);title('stone');    
    subplot(122);imshow(P2);title('stone');    
    
    figure;
    subplot(121);mesh(epsilon1,eta1,C1); title('stone自相关函数');                             	%显示自相关函数与x,y的三维图像
    xlabel('epsilon');ylabel('eta');							%标示坐标轴变量
    subplot(122);mesh(epsilon2,eta2,C2); title('ballon自相关函数'); 
    xlabel('epsilon');ylabel('eta');	
    
    
    %% 定义自相关函数zxcor(),建立zxcor.m文件
    function [epsilon,eta,C]=zxcor(f,D,m,n)  
    %自相关函数zxcor(),f为读入的图像数据,D为偏移距离,【m,n】是图像的尺寸数据,返回图像相关函数C的
    %值,epsilon和eta是自相关函数C的偏移变量。
    for epsilon=1:D									%循环求解图像f(x,y)与偏离值为D的像素之间的相关值
      for eta=1:D                
         temp=0;
         fp=0;
         for x=1:m
            for y=1:n
               if(x+ epsilon -1)>m|(y+ eta -1)>n
                 f1=0;
               else   
                f1=f(x,y)*f(x+ epsilon -1,y+ eta -1);     
               end
               temp=f1+temp;
               fp=f(x,y)*f(x,y)+fp;
            end      
         end 
            f2(epsilon, eta)=temp;
            f3(epsilon, eta)=fp;
            C(epsilon, eta)= f2(epsilon, eta)/ f3(epsilon, eta);		%相关值C
       end
    end
    epsilon =0:(D-1);									% 方向的取值范围
    eta =0:(D-1);										% 方向的取值范围
    end

    其运行结果如下:

            自相关函数图中,数字下降变化趋势越大对应图像的纹理就越复杂,自相关函数可以初步判断对比出图像地粗糙程度。在图像识别应用中,常根据标准纹理的自相关曲线与未知纹理的自相关曲线相比较来判断未知图像的纹理粗糙度。

    2.3 灰度共生矩阵

           纹理是各量级像素值在空间位置上反复出现而形成的,所以在图像空间中相隔某距离的两个像素之间存在一定的关系。灰度共生矩阵是一种通过研究图像灰度的空间分布相关特性来描述纹理的常用方法。表示了灰度为 i 的像素周围某个灰度值出现的概率。一副图像的灰度共生矩阵能反映出图像和灰度关于方向、相邻间隔的变化幅度的综合信息,它是分析图像的局部模式和它们排列规则的基础。设f(x,y)是二维图像,S 为目标区域R中具体特定空间联系的像素对的集合,则满足一定空间关系的灰度共生矩阵P为:

            上式等号右边的分子是具有某种空间关系、灰度值分别为g_{1},g_{2} 的像素对的个数,分母为像素对的总和个数(#代表数量)。这样得到的 P 是归一化的。取不同的距离和角度则可得到不同的灰度共生矩阵,实际求解时常选定距离不变,取不同角度,如0°、45°、90°和135°时的灰度共生矩阵。

            对于纹理变换缓慢的图像,灰度共生矩阵对角线上的数值越大;图像纹理在局部变换较大,则偏离矩阵对角线的元素值较大。但是由于灰度共生矩阵的数据量较大,一般不直接作为区分纹理特征的依据。Haralick曾提出了14种基于灰度共生矩阵计算出来的统计标量。这里采用信息熵、对比度、同质性(逆差距)、相关性、能量五个较常用的特征信息进行图像描述。令G表示灰度共生矩阵,则特征信息分别表示为:

                    能量:        

                     对比度:   

                     同质性(逆差矩): 

                     相关性:    

                       熵:   

    其中信息熵、对比度、能量越大表示该超像素块的纹理越复杂,颜色跳跃越大;同质性和相关性数值越大,其对应的超像素块越纹理平滑,颜色均匀。在MATLAB中可以用函数graycomatrix();计算图像的灰度共生矩阵。使用语法如下:

                     glcm = graycomatrix(I)
                     glcms = graycomatrix(I,Name,Value)
                     [glcms,SI] = graycomatrix(__)

           其中具体的参数设置和返回值可参考MATLAB文档中的graycomatrix();https://ww2.mathworks.cn/help/images/ref/graycomatrix.html 

           示例1:实现如下人像图和SEM图的灰度共生矩阵

     

       代码实现:

    close all;
    clear all;
    clc;、
    I = imread('03.tif');      % 如果是彩色图需要转灰度图         
    glcm = graycomatrix(I,'Offset',[0 2]);     %图像I的灰度共生矩阵,2表示当前像素与邻居的距离为2,offset为[0 2]表示角度为0为水平方向
    set(0,'defaultFigurePosition',[100,100,1000,500]);	  %修改图形图像位置的默认设置
    set(0,'defaultFigureColor',[1 1 1])
    imshow(I);
    glcm

    分别对人像图和SEM图进行计算得到如下结果:

    人像图灰度共生矩阵:
    
    glcm =
          101185       16538        3152        1590         940         714         520         574
           17255       62048       14733        2591        1200         766         619         712
            3026       15466       38759        9758        2125        1042         685         607
            1507        2730       10414       24542        6594        1699         947         681
             981        1341        2193        7269       15706        5050        1424         959
             703         792        1030        1850        5569       15059        5630        1471
             575         525         643         968        1723        6021       20894        5398
             402         567         597         613         893        1484        5846       22033
    
    
    SEM图灰度共生矩阵:
    glcm =
               1          10           0           1           0           0           0           0
               9       25174        2808          34           4          55          19           0
               0        2772       35824        5438         129          94         106          32
               0          79        5349       51611        3146         280         119          87
               0          18         154        3147       11986        1017          27         183
               0           0          14         266         959        2834          99           6
               0           0           0          35          34          73         242           0
               0           0           0           0           0           0           0           0

           从结果上看来,数据可以反应图像的特征,即人像图的纹理更多、更深、颜色范围更大,所以人像图的灰度共生矩阵对角线之外的数据更多,更大。

    示例2: 通过灰度共生矩阵计算以下两幅SEM图的特征信息,包括对比度、相关性、熵、

            

    clc;
    close all;
    clear all;
    
    I1 = imread('SEM01.tif');
    I1 = rgb2gray(I1);
    I2 = imread('SEM02.tif');
    I2 = rgb2gray(I2);
    glcm01 = graycomatrix(I1,'NumLevels',8);
    stats01 = graycoprops(glcm01,{'contrast','homogeneity','correlation','energy'})% 对比度 同质性 相关 能量  信息熵
    
    glcm02 = graycomatrix(I2,'NumLevels',8);
    stats02 = graycoprops(glcm02,{'contrast','homogeneity','correlation','energy'})% 对比度 同质性 相关 能量  信息熵

           将计算结果统计如下表:

     

    对比度

    同质性

    相关性

    能量

    信息熵

    SEM01

    0.4569

    0.8407

    0.9302

    0.1053

    7.6121

    SEM02

    0.1581

    0.9513

    0.9480

    0.2266

    7.0185

           对应着图像对数据进行简单分析。从图像视觉特征角度来看,相比于SEM02,SEM01图的结构更复杂,纹理更细致,SEM02图的结构规律性更强、线条更粗。对应在数据上,信息熵越大,表示图像纹理越不均匀,图像越复杂(信息熵:SEM01>SEM02,所以SEM01更细腻);能量越大,图像纹理的线条越粗糙(能量:SEM01<SEM02,所以SEM02线条更粗);同质性和相关性越大图像越的区域越平稳,相关性越高(同质性、相关性:SEM01<SEM02,所以SEM02图像整体更均匀);对比度越大图像视觉冲击越大,图像的沟壑更多、更深(对比度:SEM01>SEM02,所以SEM01图像的景象更深)。通过分析可见数据特征和图像的视觉特征相符,通常这些特征信息可以作为模式识别的特征输入量进行进一步的图像的分析和处理,常用在图像分类、图像识别等领域。

             本文所述内容和代码如有错误,请同志们多多指教,当然图像描述的方法还有很多,也请多多交流!

     

     

     

     

     

              

    展开全文
  • 在进行纹理分析时计算纹理周期有很大作用,而自相关函数用来计算纹理周期具有很好的效果。要计算纹理图像的自相关函数值,可以使用matlab里面的xcorr2函数。具体代码如下: clear;clc; I = imread('1.jpg'); GRAY...
  • Matlab的autocorr自相关函数

    万次阅读 多人点赞 2016-02-23 22:50:58
    对序列的平稳性的检验有两种检验方法:一种是根据时序自相关图的特征作出判断的检验,该方法操作简单,应用广泛,缺点是带有主观性;另一种是构造检验统计量进行的方法,目前最常用的方法是单位根检验,这个...
  • 通过使用所有检测的3D自相关函数,捕获这种不可知论的方法似乎效果很好,从而使我们了解了轨迹的样子。 使用此自相关函数对实际检测值(被视为峰峰值的集合)进行卷积会在3D空间中产生密度函数,此时轨迹显示为高...
  • 本文主要介绍MATLAB的函数-worldmap,包括使用语法、参数、栗子和相关函数等等
  • 对话功率谱与自相关函数

    千次阅读 2018-06-18 13:55:31
    引入:能量有限而平均功率为0的信号称之为能量信号;能量无限而平均功率有限的信号称之为功率信号;...计算能量谱密度以及功率谱密度:能量谱密度:功率谱密度:信号的自相关函数:同卷积的比较:由上可以看出...
  • 简单总结一下归一化自相关函数,防止遗忘掉 上,参考论文中的Normalized Auto-correlation based Step Counting. 自相关函数是函数与函数本身的相关性,如果进行归一化,会看的更清楚。互相关函数是两个函数...
  • 能够产生良好的m序列的自相关以及互相关结果,适合初学者
  • 基于MATLAB软件仿真分析输出信号的自相关函数,功率谱密度,并画出图形。
  • 提供生成的m序列的图片和代码,可以根据不同的n的取值来制造不同的m序列
  • 输入参数: rgau = 相关函数 - 长度 n/2 m = 实现次数 输出: cg = mxn 矩阵包含 m 个序列的 n 个相关变量来自零均值、单位方差正态分布psg = 输入功率谱(相关函数的傅立叶变换) 注意:由于这使用了快速傅立叶...
  • 功率谱/功率谱密度评估总的来说有两大类: 自相关函数法和周期方法 自相关函数法: 根据维纳辛钦定理,自相关函数和功率谱密度是一对傅里叶变换,可以通过对自相关函数求傅里叶变换得到随机信号的功率谱; 周期...
  • 用Matlab做随机信号分析实验仿真的时候出现一个问题:使用xcorr计算信号的自相关函数并求Rx(0)=max(Rx),然后通过E(x.^2)求均方值 σx^2,理论二者都是表示平均功率,应该相等,但是实验过程中得出高斯白噪声的均方...
  • 函数为输入图像创建自相关图向量任何尺寸。 先验假设的不同距离可以在向量中由用户定义。 它实现了 Huang 等人定义的算法。 论文“使用彩色自测的图像索引” 输入: I=代表彩色图像的uint8矩阵distance_vector=...
  • 问题描述:完成在连通无向上访问中全部顶点及相关级别操作。 基本要求: 以的邻接表为存储结构实现下列功能: 1.自选存储结构, 输入含n个顶点(用字符表示顶点)和e条边的G; 2.求每个顶点的度,输出...
  • 简单相关系数 简单相关系数的代码实现 1.XY都是随机变量,地位对称 ...# 创建10个均分分布的数据 看看直方 # 产生数据 set.seed(1) # 保持每次产生数据已知 x1 = ch_unif(10) hist(x1,breaks = 4) x2 = c
  • 首先利用拉普拉斯算子对离焦图像进行无方向二阶微分并求微分图像的自相关,然后从自相关图的环形槽鉴别出光学系统点扩展函数的半径,即离焦图像的弥散斑半径,最后依据离焦图像弥散斑半径与离焦量的几何光学关系推导...
  • 简单的直方(不依赖于任何工具箱) 随机变量代数:两个独立随机变量的和和乘积 等等。 笔记 说明可以在源代码中作为注释找到 代码已经过测试,但不广泛 任何反馈,感谢贡献 致谢 本 repo 中的脚本是在布达佩斯科技...
  • # 此函数功能实现截屏并把截取的图片存到指定文件下 def get_screen_photo ( ) : # 实现截屏的命令 get_p = 'adb shell screencap -p /sdcard/p_img.png' # 将图片拉取到指定文件下 send_p = '...
  • 通过颜色自相关图构建图像的颜色特征(360维),使用LSH进行哈希降维, 建立的索引值存入index_file中。 检索过程中,对目标检索时提取目标的颜色特征,计算相应的LSH哈希值,与索引列表中的图像库进行相 似性比对...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,355
精华内容 1,342
关键字:

自相关函数图