我正在尝试实现用于图像分类的朴素贝叶斯最近邻(NBNN)算法。该算法要求计算属于不同图像的两个像素之间的欧几里得距离。
我有1)一组m张图像,存储在一个m行40,000列的矩阵中(其中40,000是每张图像的像素数),以及2)另一组n张图像,存储在一个n行40,000列的矩阵中。
1)是训练集,2)是验证集。
为了应用NBNN,根据我的理解,我需要计算2)中每个像素与1)中对应像素之间的欧几里得距离。
我的问题是,给定来自1)和2)的两个灰度值,如何计算它们之间的欧几里得距离,以便应用k-NN算法?
回答:
设x, y为两张200×200的灰度图像。像素值分别为x1,x2,...x40000
和y1, y2,...y40000
。x和y之间的欧几里得距离为d(x,y)=sqrt(sum_i((xi-yi)^2))