【发布时间】:2017-01-10 11:08:41
【问题描述】:
我正在尝试编写一个程序,该程序将从婴儿监视器中拍照,然后使用 OpenCV 检测面部。我想在此基础上添加其他功能。问题是它不能经常检测到人脸。问题可能是因为在我使用的图片中,婴儿正在吃他的手:P。 我想编写一个程序,它可以查明婴儿是否翻身或头上有毯子。有什么解决这个问题的建议吗?用多张图片训练 OpenCV 对我的情况有帮助吗? 这是示例程序。虽然是用nodejs写的,但逻辑应该是一样的。是否有其他库/算法/方法可以帮助我实现这一目标?
var request = require('request');
var cv = require('opencv');
var user = 'admin';
var pass = 'password';
var options = {
url : 'http://192.168.86.114/cgi-bin/snapshot.cgi',
method : 'GET',
port: 80,
encoding: 'binary',
headers: { 'Authorization': 'Basic ' + new Buffer(user + ':' + pass).toString('base64') }
}
request( options, function(err, res, html){
if(err){
console.log(err)
return
}
require("fs").writeFile("./pictures/out.jpeg", res.body,'binary', function(err) {
console.log(err);
cv.readImage("./pictures/out.jpeg", function(err, im){
im.detectObject(cv.FACE_CASCADE, {}, function(err, faces){
for (var i=0;i<faces.length; i++){
var x = faces[i]
im.ellipse(x.x + x.width/2, x.y + x.height/2, x.width/2, x.height/2);
}
im.save('./out.jpg');
});
})
});
})
【问题讨论】:
-
我会说你应该准备一个训练数据集并相应地标记图片。这可能是目前唯一的方法。尝试找到一些“强大”的功能来帮助您标记图片。这个任务太宽泛了。
标签: node.js opencv face-detection image-recognition