2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Windows 7上のOpenCV 2.4.11で猫の顔を検出してみた

Posted at

cat3.PNG

環境

Windows 7 Home 64bit
OpenCV 2.4.11
Visual Studio 2013

はじめに

顔検出に使用されるCascadeDetectorで猫の正面顔を検出してみた。
OpenCV 2.4系列では、主に人の部位の辞書が提供されていたが、OpenCV 3系列では猫の正面顔の辞書が3種類添付されている。

提供されている猫正面顔の辞書

辞書は互換性があるので、3の辞書を2で使用することができる

テストコード

OpenCV 2.4.11で提供されている猫の画像を使用し、3種類の辞書による検出結果を比較してみた。
検出時のデフォルトパラメータでは、誤検出が多かったので、若干調整している。
下記のコードは、haarcascade_frontalcatface.xmを使用する検出部のみである。画像の読み込みや、キー処理などは省略している。

	std::vector<cv::Rect> faces;
	cv::CascadeClassifier cascade;
	
	cascade.load("haarcascade_frontalcatface.xml");
	cascade.detectMultiScale(image, faces, 1.1, 4, 0, cv::Size(100, 100));

	cv::Mat disp = image.clone();
	int size = faces.size();
	for (int i = 0; i < size; i++) {
		cv::Rect r = faces.at(i);
		cv::rectangle(disp, r, cv::Scalar(255, 0, 0), 2);
	}
	cv::imshow("haarcascade_frontalcatface", disp);

haarcascade_frontalcatface.xm 辞書での検出結果

cat1.PNG

haarcascade_frontalcatface_extended.xml 辞書での検出結果

cat2.PNG

lbpcascade_frontalcatface.xml 辞書での検出結果

冒頭の画像である。

感想

人の顔の辞書の検出結果と比較すると誤検出が多いので、パラメータの調整をしないと所望の結果は得られない。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?