相关疑难解决方法(0)

MATLAB中的图像处理算法

我正在尝试实现本文中描述的算法:

临时光谱带中生物斑点图像的分解

以下是该算法的解释:

我们N用采样频率记录了一系列连续的散斑图像fs.通过这种方式,可以观察像素如何通过N图像进化.该演变可以被视为时间序列并且可以以下面的方式处理:对应于每个像素的演变的每个信号被用作一组滤波器的输入.先前将强度值除以它们的时间平均值,以最小化物体的反射率或照度的局部差异.可以充分分析的最大频率取决于采样定理和采样频率的一半fs.后者由CCD相机,图像大小和帧抓取器设置.滤波器组如图1所示.

过滤器库

在我们的例子中,使用了10个5阶巴特沃斯滤波器,但是这个数量可以根据所需的区分来改变.该银行使用MATLAB软件在计算机中实现.我们选择了Butter-worth过滤器,因为除了简单之外,它还是最平坦的.可以使用其他滤波器,无限脉冲响应或有限脉冲响应.

借助于该滤波器组,获得每个临时像素演变的每个滤波器的十个对应信号作为输出.然后计算每个信号的平均能量Eb:

能量方程

其中pb(n)对于滤波器的第n个图像中的滤波的像素的强度b通过其平均值分割N是图像的总数.以这种方式,En获得每个像素的能量值,每个下摆属于图1中的一个频带.

利用这些值,可以构建活动对象的十个图像,每个图像显示在某个频带中有多少时变斑点的能量.对结果中灰度级的错误颜色分配将有助于区分.

这是我的MATLAB代码基础:

for i=1:520
    for j=1:368
        ts = [];
        for k=1:600
            ts = [ts D{k}(i,j)]; %%% kth image pixel i,j --- ts is time series
        end
        ts = double(ts);
          temp = mean(ts);        
           if (temp==0)
                for l=1:10
                    filtImag1{l}(i,j)=0;
                end
                continue;
           end

         ts = ts-temp;          
         ts = ts/temp;    
        N = 5; % filter order
        W = [0.0 0.10;0.10 0.20;0.20 …
Run Code Online (Sandbox Code Playgroud)

algorithm matlab image-processing filter

15
推荐指数
2
解决办法
7431
查看次数

如何规范雷达图的统计数据

我正在使用raphaelJS绘制一个"雷达图表"来显示统计数据.对于每个轴,它应接受0到10之间的值.

例如,多边形的值,其中心点位于图表的中心[10,10,10,10,10].简单...

但是,可能会发生数据如下所示:

[26, 14, 48, 18, 1],
[ 3, 14,  8,  9, 5],
[10,  6,  4, 16, 3]
Run Code Online (Sandbox Code Playgroud)

这导致了这一点(显示多边形的中心点位于图表的左下方):

雷达规模

如果我根据其最大值(在这种情况下为48)对数据进行标准化,则所有其他中心点将太靠近图表的中心,并且其信息值将大约为0.


相同的数据根据​​其最大值进行标准化:

[5.42, 2.92, 10,   3.75, 0.21],
[0.63, 2.92, 1.67, 1.88, 1.04],
[2.08, 1.25, 0.83, 3.34, 0.63]
Run Code Online (Sandbox Code Playgroud)

雷达归一化

所以现在所有其他中心点都聚集在图表的中心,并且已经失去了所有的解释力......如果有超过3个中心点,它们很可能会相互重叠.

中心

我正在考虑一种显示每个多边形的相对方式,而不会在每个多边形之间失去太多关系,如果可能的话......

任何想法如何做到这一点,或者可能是另一种方法如何规范化?

statistics charts data-visualization scale raphael

3
推荐指数
1
解决办法
3830
查看次数