【发布时间】:2013-06-14 18:35:06
【问题描述】:
我正在开发一个应用程序,它可以借助 Surface 视图比较存储在 SD 卡中的人脸和相机预览中显示的图像。我编写了代码来检测人脸并创建了一个仅包含人脸的位图。我需要比较这个位图和 SD 卡中的图像。我搜索了 java 库,并得到了一些链接,如opencv、Eigenface。哪个会是更好的图书馆? 请给我一些好的教程示例,如果它解释图像比较背后的过程会更好。
【问题讨论】:
-
我认为,但我不确定,您应该在这样做时比较绝对向量。否则,如果您比较像素,我认为您会遇到问题,因为图像的分辨率不同。此链接可能会有所帮助:
http://developer.android.com/reference/java/util/Vector.html。另外关于最后一部分,看看这个:http://stackoverflow.com/questions/6248044/c-comparing-two-vectors。 -
你右边的比较像素可能有问题。但是我们如何将图像表示为矢量呢?
-
Android 中的矢量形状可以/被表示为可绘制的。既然这已经到位,我认为这只是缩放两个对象(处理向量时并不难)并比较它的不同部分的问题。无论如何,你设计/使用了什么样的算法来比较人脸?
-
以下是有关如何以某种方式执行此操作的一些信息:面部识别设备(在您的情况下为应用程序)是一种查看人的图像或视频并将其与数据库(您的情况下的另一个图像)。它通过比较面部的结构、形状和比例来做到这一点;眼睛、鼻子、嘴巴和下巴之间的距离;眼窝的上部轮廓;嘴的两侧;鼻子和眼睛的位置;以及检查骨骼周围的区域。这个主题很有趣,我只是想知道你喜欢的算法。 :-)
-
是的,它确实很有趣,但是会有很多限制,需要一些好的算法。如果有这样的应用程序,它将对增强现实应用程序做出巨大贡献。你知道facebook中是否有自动标记吗?如果有这样的事情,那么我们也可以实现这样的事情对吗?会有一些人脸比对的方法。
标签: java android image-processing face-detection image-comparison