5

EmguCV ライブラリを使用して、ウェブカメラで笑顔を検出するための winForm c# プログラムを開発しています。haarcascade_smile xml ファイルを使用して、正常に実行します。ただし、場合によっては検出エラーが発生します。口の形の線が誤って口として認識されることがあります。

元のxmlファイルに加えて赤色を探して口の検出を改善し、エラー率を減らすという新しいアイデアがあります。

赤い色を検出するために使用できるコマンドまたはライブラリを知っている人はいますか?

どうもありがとう :)

var smiles = grayframe.DetectHaarCascade(_smiles, 
                                         ScaleIncreaseRate, 
                                         MinNeighbors, 
                                         HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, 
                                         new Size(WindowsSize, WindowsSize))[0];
if (smiles.Length == 0)
{
    // Number of smile face detected is 0
}
else
{

}
4

2 に答える 2

0

With Bitmap.GetPixel() you can get the color of the pixel. You then have to determine whether or not that color is considered red. This is a challenge that is not very difficult to solve, but may require some research.

For example, looking at HTML color tables and their codes, you can already determine the following characteristics for most red colors:

  • The R element of the RGB value is higher than G and B.
  • The G element is lower than B most of the time, sometimes equal, but never higher.
  • For a high R value, the higher the B value, the more purple it becomes; what is acceptable and what not?

Et cetera, et cetera. You can create a class which defines these rules and check if a color is considered red for you particular use.

Since you are aiming for a narrowed range of red colors, you can specialize the class even more and get more precise answers.

于 2013-03-14T09:11:38.107 に答える
0

Bitmap.Getpixel()は、指定されたピクセルの色を取得します。

于 2013-03-14T08:12:57.810 に答える