线性代数 - 有人可以向我解释Android中的'void postConcat'是做什么的吗?



所以我有 2 个矩阵。

颜色矩阵和阈值。颜色矩阵最初是,

C =  [  0.213 0.715 0.072 0 0;
        0.213 0.715 0.072 0 0;
        0.213 0.715 0.072 0 0;
           0    0     0   1 0;]

阈值为:

T = [   255 0 0 1 -306;
        0 255 0 1 -306;
        0 0 255 1 -306;
        0 0  0  1 -306;]

现在安卓中的这行代码colorMatrix.postConcat(threshold);返回以下内容:

C =  [  54.315 182.325 18.36 1 -306;
        54.315 182.325 18.36 1 -306;
        54.315 182.325 18.36 1 -306;
           0      0      0   1   0; ]

为什么?得出该结果的步骤是什么?

如果我在 Matlab 中做同样的事情,那就是C*T'我明白这个:

C =  [  54.315 182.325 18.36 0;
        54.315 182.325 18.36 0;
        54.315 182.325 18.36 0;
           0      0      0   0; ]

具有不同值的不同维度数组。有人可以向我解释一下postConCat是做什么的吗?我在网上找不到有关此功能的任何信息,仅在 Android 文档中,它只说:

Concat this colormatrix with the specified postmatrix. 

.它只是一个安卓的东西吗?

为什么?得出该结果的步骤是什么?

ColorMatrix的源代码可以在这里查看:https://android.googlesource.com/platform/frameworks/base/+/master/graphics/java/android/graphics/ColorMatrix.java

它只是一个安卓的东西吗?

我相信它有点,更像只是一个ColorMatrix的东西。在Android中,我相信ColorMatrix只是作为一种构造特殊ColorFilterColorMatrixColorFilter)的方式提供的,该主要用于应用于Bitmap对象。

ColorMatrix.postConcat描述:

这在逻辑上与调用setConcat(postmatrix,this)相同

setConcat的描述来看:

将此颜色矩阵

设置为两个指定颜色矩阵的串联,以便生成的颜色矩阵与应用 matB 然后应用 matA 具有相同的效果。

因此,如果理解正确,我相信ColorMatrix.postConcat可以用来将两个 ColorMatrix 对象组合成一个,这样您就可以将其应用于您选择的位图一次,而不是执行两次。

简而言之,如果你想与在 Matlab 中获得的行为具有相同的行为,你可能需要自己实现它。

相关内容

  • 没有找到相关文章

最新更新