Я пытался написать программу, которая снимала бы с детского монитора, а затем обнаруживала бы лицо с помощью OpenCV. На этом я хотел добавить другие функции. Проблема в том, что он не может обнаружить лицо очень часто. Проблема может быть в том, что на фотографиях, которые я использую, ребенок что-то ест свою руку: P. Я хотел написать программу, которая могла бы выяснить, перевернулся ли ребенок или надел на голову одеяло. Любые предложения по решению этой проблемы? Будет ли обучение OpenCV с несколькими фотографиями помочь моему делу. Вот пример программы. Хотя они написаны в nodejs, логика должна быть одинаковой. Есть ли другая библиотека/алгоритм/подход, которые могут помочь мне в этом?Обнаружение лица ребенка с помощью OpenCV
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');
});
})
});
})
Я бы сказал, что вы должны подготовить учебный набор данных и соответствующим образом наклеить изображения. Вероятно, это единственный способ на данный момент. Попробуйте найти некоторые «прочные» функции, которые помогут вам маркировать изображения. Задача слишком широка как таковая. –