Giriş
Haar classifier için açıklama şöyle.
Şöyle yaparız.
Örnek ver
detectMultiScale metodu
Parametre olarak scaleFactor, minNeighbors, minSize ve flags alır. Sonuç olarak yüzlerin bulunduğu Rectangle dizisini verir.
Örnek
Şöyle yaparız.
Şöyle yaparız.
Örnek
Şöyle yaparız.
Örnek
Elimizde bir cv::String olsun
Haar classifier için açıklama şöyle.
A Haar classifier operates on 2D images, both for training and recognition. It requires a set of normalized positive 2D images (with object) and a set of normalized negative 2D images (without object) for training the classifier.Haarcascade Face detection için kullanılır. Bu sınıf viola-jones algoritmasını kullanır. Açıklaması şöyle.
An alternative to detecting faces using Haar Cascades in OpenCV is to use a Histogram of Oriented Gradients feature detector. HOG-based object detectors can be used for detecting faces, and this is the technique used in some other image processing libraries such as Dlib. A Histogram of Oriented Gradients feature detector stores a 2D grid of local gradients and gradient directions of an image and compares this with a reference grid trained on a data set.Constructor
Şöyle yaparız.
CascadeClassifier cascade;
Constructor - xml pathÖrnek ver
detectMultiScale metodu
Parametre olarak scaleFactor, minNeighbors, minSize ve flags alır. Sonuç olarak yüzlerin bulunduğu Rectangle dizisini verir.
Örnek
Şöyle yaparız.
std::vector<cv::Rect> faces;
cv::Mat im = ...;
cascade.detectMultiScale(im, faces, 1.1, 2,
CV_HAAR_SCALE_IMAGE|CV_HAAR_FIND_BIGGEST_OBJECT, cv::Size(150,150));
ÖrnekŞöyle yaparız.
Mat im = imread("photo.jpg",0); //0 flag for grayscale
vector<Rect> eyes;
cascade.detectMultiScale(im, eyes, 1.2, 3);
for (int i = 0; i < eyes.size(); i++)
{
Rect r = eyes[i];
rectangle(im, Point(r.x, r.y), Point(r.x + r.width, r.y+r.height),
CV_RGB(0,255,0));
}
imshow("im",im);
load metodu
Yükleme işlemi başarılı ise true döner.Örnek
Şöyle yaparız.
cascade.load("haarcascade_eye.xml");
Elimizde bir cv::String olsun
cv::String face_cascade_name = "haarcascade_frontalface_alt.xml";
Şöyle yaparız.if (cascade.load(face_cascade_name)){
...
}
Hiç yorum yok:
Yorum Gönder