【问题标题】:Correlation between two binary images两个二值图像之间的相关性
【发布时间】:2014-02-27 03:09:04
【问题描述】:

我需要在 Python 中计算两个二进制图像之间的相关性。如果矩阵相同,脚本应该返回 1,如果它们完全不相关,则返回 0。它应该类似于 Matlab 中的corr2 (http://www.mathworks.se/help/images/ref/corr2.html)。这是我正在使用的测试:

import numpy as np
from scipy import signal

A = np.matrix('1 0; 1 0')
B = np.matrix('1 0; 1 0')
cor = signal.correlate2d(A, B)
print cor

如何获得单个值而不是矩阵?

【问题讨论】:

    标签: python image-processing correlation


    【解决方案1】:

    试试corrcoef。它将返回一个 2*2 矩阵,其中包含两个矩阵之间的非对角元素相关系数:

    import numpy as np
    A = np.matrix('1 1; 1 0')
    B = np.matrix('1 0; 1 0')
    cor = np.corrcoef(A.reshape(-1), B.reshape(-1))[0][1]
    print cor
    

    【讨论】:

    • 谢谢@lennon310。有没有办法从corrcoef 矩阵传递到单个值?
    • 谢谢阿不思。您可以只选择矩阵的 [0,1] 元素。
    • @albus_c 我使用了一种肮脏的方法,将矩阵重塑为向量,请参阅我的更新。谢谢
    • 这将给出一个介于 -1 和 1 之间的数字。@albus_c 你想要一个严格介于 0 和 1 之间的数字吗?
    • @lennon310 问题解决了! Paul 我觉得我可以使用 [-1;1],谢谢
    猜你喜欢
    • 2017-12-29
    • 2014-04-11
    • 2020-04-23
    • 1970-01-01
    • 2021-03-01
    • 2012-12-29
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    相关资源
    最近更新 更多