(超级用户也向类似的问题询问了与应用程序相关的答案.这里发布的问题是收集相同的可编程解决方案)
在我的工作场所,护照大小的照片一起扫描,然后切成单独的图片并用唯一的文件编号保存.目前我们使用Paint.net手动选择,剪切和保存图片.
示例扫描文档Picasa屏幕截图:( 来自:google图片搜索多个来源,fairuse)

例如.在Picasa 3.8中,单击"视图">"人物",将显示所有面部,并要求我们为其命名,是否可以使用不同的图片名称自动保存这些单独的图片?
更新
我想要做的就是将上面的图片转换为单独的图片.
在上图中,我展示了Picasa 3.8如何检测图像并提示我为其命名.我不需要面部识别,我只需要面部检测.Picasa会检测单个图像并在RHS上显示它们.这些单独的图像是我需要的.Picasa会创建一个.ini文件,该文件会保存包含各个面的坐标的十六进制值.
这些单独的面孔是我感兴趣的如果我可以有坐标,我可以从图片裁剪所需的图像.
SAMPLE.jpg

ini内容
[SAMPLE.jpg]
faces=rect64(c18f4c8ef407851e),d4ff0a020be5c3c0;rect64(534a06d429ae627),dff6163dfd9d4e41;rect64(b9c100fae46b3046),e1059dcf6672a2b3;rect64(7b5105daac3a3cf4),4fc7332c107ffafc;rect64(42a036a27062a6c),ef86c3326c143248;rect64(31f4efe3bd68fd8),90158b3d3b65dc9b;rect64(327904e0614d390d),43cbda6e92fcb63e;rect64(4215507584ae9b8c),15b6a967e857f334;rect64(895d4efeb8b68425),5c4ff70ac70b27d3
backuphash=3660
Run Code Online (Sandbox Code Playgroud)
*ini文件似乎是rect64(534a06d429ae627),dff6163dfd9d4e41为每个标签保存面部标签的坐标.从Picasa帮助网站用户引用Technonath说
@oedious写道: - 这有点技术性,所以坚持下去.*rect64()中包含的数字是64位十六进制数.*将其分成四个16位数字.*除以最大无符号16位数(65535),并且在0和1之间有四个数字.*剩下的四个数字给出面部矩形的相对坐标:(左,上,右,下).*如果您想要以绝对坐标结束,请按图像宽度左右多个,按图像高度左右多个.
上面的引用谈到了在rect64()中包含的数字,逗号后括号外的数字怎么样?
我问了一个相关的问题.答案也可能对你有所帮助. 从64位十六进制值中获取四个16位数字
注意:ini详细信息与为特定图像生成的picasa相同.
此问题已多次更新,可能不够清晰.
Picasa帮助网站上有一些回复,我在那里问了同一个问题该线程的答案之一是根据ini文件中的十六进制值得到坐标.以下代码位于来自帮助站点的esac的 C#中.我可以在PHP中执行相同的操作吗?
public static RectangleF GetRectangle(string hashstr)
{
UInt64 hash = UInt64.Parse(hashstr, System.Globalization.NumberStyles.HexNumber);
byte[] bytes = BitConverter.GetBytes(hash);
UInt16 l16 = BitConverter.ToUInt16(bytes, 6);
UInt16 t16 = BitConverter.ToUInt16(bytes, 4);
UInt16 r16 = BitConverter.ToUInt16(bytes, 2);
UInt16 b16 = BitConverter.ToUInt16(bytes, 0);
float left = l16 / 65535.0F;
float top = t16 …Run Code Online (Sandbox Code Playgroud) 有谁知道android源代码树中面部解锁代码的位置?我希望在我的应用中加入一些人脸识别功能,并希望使用谷歌已经创建的代码.
我已经看过opencv和其他一些第三方API等替代方案,但我真的很想看看Google的方式.谢谢!
我开发了一个使用OpenCV库通过相机跟踪人脸的项目.我用haar cascade haarcascade_frontalface_alt.xml来检测脸部.
我的问题是,如果从网络摄像头捕获的图像不包含任何面部,则检测面部的过程非常慢,因此相机的图像会连续显示给用户,会延迟.
我的源代码:
void camera()
{
String face_cascade_name = "haarcascade_frontalface_alt.xml";
String eye_cascade_name = "haarcascade_eye_tree_eyeglasses.xml";
CascadeClassifier face_cascade;
CascadeClassifier eyes_cascade;
String window_name = "Capture - Face detection";
VideoCapture cap(0);
if (!face_cascade.load(face_cascade_name))
printf("--(!)Error loading\n");
if (!eyes_cascade.load(eye_cascade_name))
printf("--(!)Error loading\n");
if (!cap.isOpened())
{
cerr << "Capture Device ID " << 0 << "cannot be opened." << endl;
}
else
{
Mat frame;
vector<Rect> faces;
vector<Rect> eyes;
Mat original;
Mat frame_gray;
Mat face;
Mat processedFace;
for (;;)
{
cap.read(frame);
original = frame.clone();
cvtColor(original, …Run Code Online (Sandbox Code Playgroud) 我需要根据父母的照片制作婴儿脸.像:http://www.makemebabies.com/
它可能不是很先进,并且可能只是尝试识别例如来自数据库中恒定眼睛变体的眼睛.主要功能是在自己的服务器上设置它.
有没有开源或不那么昂贵的解决方案?
我不是在谈论JPEG的XMP数据包中嵌入的"人物标签".我在谈论用于识别新面孔的面部数据库.
我想在我的程序中添加使用已经训练过的WLPG数据库识别人脸的选项.我设法使用API(类型库dll)来检测面,但要识别它们,它需要一个在同一API中不可用的Exemplar Cache对象.我可以创建自己的对象,但我想使用已有的对象来避免对用户进行重复培训.
我知道数据库位于"%localappdata%\ Local\Microsoft\Windows Live Photo Gallery"中,并且它是SQL Server Compact Edition 3.1格式.我用Visual Studio 2010打开了数据库,但是我更喜欢在不直接访问数据库的情况下阅读它,而且我没有看到导出该功能的DLL.
顺便说一下,我正在使用Delphi 2010.
有任何想法吗?
我已经开始研究用于iOS的应用程序,该应用程序可识别来自照片或iPhone/iPad相机的面部.
OpenCV和Core Image(在iOS 5.0中)等现有解决方案在图像中提供面部检测,但我找不到与人脸相匹配的库或示例.
iOS是否存在执行面部识别而不仅仅是检测的方法?
场景:
在封闭式人脸识别中,如果我们在一个图库集中有10个人,那么查询图像将来自这10个人中.因此,每个查询将分配给10个人中的一个.
在开放式人脸识别中,查询人脸可能来自画廊中10人以外的人.这些额外的人被称为" 干扰者 ".可以在IJB-A挑战中找到示例任务.
题:
假设我为10个身份中的每一个训练了一个SVM(一个对所有人).我如何在开放式方案中报告准确性?如果查询图像X进来,我的模型将始终将其识别为我的图库中的10个人中的一个,尽管如果该人不在图库中的10个人中,则得分较低.因此,当将精度报告为%时,每个干扰物查询图像将给出0准确度,从而降低使用其正确标识标记每个查询图像的总体准确性.
这是在开放式协议上报告识别准确性的正确方法吗?或者是否有一种标准方法来设置分类分数的阈值,并说"查询图像X对于Gallery中的每个身份都有低分,因此我们知道它是一个干扰图像,我们在计算识别时不会考虑这个准确性"
最后,需要注意的是:这特别针对生物识别和人脸识别.然而,SO提供了最一致的答案,并且极有可能在SO处找到活跃于视觉和图像处理标签的生物识别人员,这就是我在这里问这个问题的原因.
image-processing biometrics face-recognition computer-vision
我想通过裁剪矩形来保存检测到的面在dlib中有人知道我怎么能裁剪它.我第一次使用dlib并遇到很多问题.我还想在检测到的面上运行fisherface算法,但是当我将检测到的矩形传递给pridictor时,它给出了类型错误.我在这个问题上真的需要帮助.
import cv2, sys, numpy, os
import dlib
from skimage import io
import json
import uuid
import random
from datetime import datetime
from random import randint
#predictor_path = sys.argv[1]
fn_haar = 'haarcascade_frontalface_default.xml'
fn_dir = 'att_faces'
size = 4
detector = dlib.get_frontal_face_detector()
#predictor = dlib.shape_predictor(predictor_path)
options=dlib.get_frontal_face_detector()
options.num_threads = 4
options.be_verbose = True
win = dlib.image_window()
# Part 1: Create fisherRecognizer
print('Training...')
# Create a list of images and a list of corresponding names
(images, lables, names, id) = ([], [], {}, …Run Code Online (Sandbox Code Playgroud) 类似于应用程序的指纹身份验证,我试图在我的一个Android应用程序中实现面部识别身份验证.任何人都可以指导我如何使用任何库或任何东西实现相同.
face-recognition ×10
opencv ×5
android ×2
api ×2
biometrics ×2
c++ ×1
delphi ×1
dlib ×1
ios ×1
iphone ×1
php ×1
picasa ×1
python ×1
security ×1
windows-live ×1