我有一个exe文件,它返回一个16elements的数组。我必须将这个数组传递给Mysql,使用php来计算欧几里得距离。我在MySQL中的表格是在表单中。计算平方欧几里德距离
id |img_id | features_1|features_2|features_3|features_4|features_5|features_6|features_7|...upto features_16
1 1 0.389 0.4567 0.8981 0.2345
2 2 0.9878 0.4567 0.56122 0.4532
3 3
4 4
......................
所以我有16个功能的每个图像,现在我有30,000图像是img_id是高达30,000。我必须从数据库中的数据中计算通过php传递的exe数组中的欧几里德距离,并返回欧几里得距离最小的6个图像的img_id。即假设我有一个EXE A [0.458,0.234,0.4567,0.2398]数组,我必须计算每个img_id与这个数组的距离,即对于img_id = 1,距离将是((0.458-0.389)^ 2 +(0.234- 0.4567)^ 2 +(0.4567-0.8981)^ 2 +(0.2398-0.2345)^ 2)我必须对所有30,000张图像重复此过程并返回距离最近的6个img_id。什么是有效和快速的计算方法?
手动。你的桌子似乎没有为它设置。是'id'' auto_increment'?做这样的事情,你真的应该有一行每个图像与'功能'是更具描述性和独立的列。 – Jon
是的id是自动增量。如果我将功能保存在单独的列中而不是单独的行,会更容易吗? – user1583647
是的,为了以任何精度进行这种类型的计算,一个图像的所有特征都需要用它们自己的列进行设置。 – Jon