c语言欧几里德距离函数,C中的欧几里德距离计算

我尝试使用以下代码计算PHP中的欧几里德距离,但花费的时间非常长。我想测试如果我在C中执行相同的操作,如果它会更快。输入数据应该从php传递,而其他所有数据都存储在mysql数据库中。如何快速操作,因为我必须计算每个具有约900个属性的30,000个图像的距离。那么如何让C中的计算速度比PHP更快?我还没有编程在C很多,所以任何建议将不胜感激。C中的欧几里德距离计算

在PHP中用于计算距离的查询可以概括如下:

SELECT tbl_img.img_id,

tbl_img.img_path,

((pow(($r[9]-coarsewt_1),2))+(pow(($r[11]-coarsewt_2),2))+ ... +(pow(($r[31]-coarsewt_12),2))+

(pow(($r[36]-finewt_$wt1),2))+(pow(($r[38]-finewt_$wt2),2))+(pow(($r[40]-finewt_$wt3),2))+

(pow(($r[43]-shape_1),2))+(pow(($r[44]-shape_2),2))+ ... +(pow(($r[462]-shape_420),2))+

(pow(($r[465]-texture_1),2))+(pow(($r[466]-texture_2),2))+ ... +(pow(($r[883]-texture_419),2))+(pow(($r[884]-texture_420),2)))

as distance

FROM tbl_img

INNER JOIN tbl_coarsewt

ON tbl_img.img_id=tbl_coarsewt.img_id

INNER JOIN tbl_finewt

ON tbl_img.img_id=tbl_finewt.img_id

INNER JOIN tbl_shape

ON tbl_img.img_id=tbl_shape.img_id

INNER JOIN tbl_texture

ON tbl_img.img_id=tbl_texture.img_id

WHERE tbl_img.img_id>=1 AND tbl_img.img_id<=31930

ORDER BY distance ASC LIMIT 6

+1

这个问题是不是与语言,但算法 –

2013-05-02 06:36:57

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值