-2
EmguCV 2.2.1.1150でWebカメラを接続しても問題ありませんが、RTSPプロトコルを使用してIPカメラに接続すると数分で例外がスローされますが、例外。EmguCVキャプチャでの問題IPカメラの顔検出
private void btnDetectar_Click(object sender, EventArgs e)
{
//grabber = new Capture(@"rtsp://user:[email protected]:554/cam/realmonitor?channel=1&subtype=01?tcp"); // IP CAMERA
grabber = new Capture(); // WEBCAM
// Inicia la función FrameGrabber
Application.Idle += new EventHandler(FrameGrabber);
btnDetectar.Enabled = false;
}
void FrameGrabber(object sender, EventArgs e)
{
try
{
// Obtiene el "frame" actual del dispositivo de captura
currentFrame = grabber.QueryFrame().Resize(704, 480, Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC);
// Se convierte a escala de grises
Image<Gray, byte> gray = currentFrame.Convert<Gray, byte>();
// Detector facial
MCvAvgComp[][] facesDetected = gray.DetectHaarCascade(
face,
1.2,
10,
Emgu.CV.CvEnum.HAAR_DETECTION_TYPE.DO_CANNY_PRUNING,
new Size(gray.Width/6, gray.Height/6));
// Acción para cada elemento detectado
foreach (MCvAvgComp faces in facesDetected[0])
{
result = currentFrame.Copy(faces.rect).Convert<Gray, byte>().Resize(200, 200, Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC);
// dibuja rectangulo en rostro detectado
currentFrame.Draw(faces.rect, new Bgr(Color.Red), 3);
}
picUser.Image = currentFrame.ToBitmap();
}
catch (Exception a)
{
String timeStamp = DateTime.Now.ToString();
MessageBox.Show(" Hora: " + timeStamp + "\n Error: " + a.Message + "\n Stacktrace: " + a.StackTrace + "\n", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
ですが、なぜでしょう:
私はこのコードを持っていますか?
例外のテキストにヒントが含まれていると思われますか? – Blorgbeard
Hora:21/07/2017 05:06:56 p。 m。 エラー:オブジェクト参照がオブジェクトのインスタンスに設定されていません。Stacktrace:en MultiFaceRec.FrmPrincipal.FrameGrabber(Object sender、EventArgs e)en c:\ FaceRecProOV \ MainForm.cs:línea115この行 "currentFrame = grabber.QueryFrame()。Resize(704、480、Emgu.CV. CvEnum.INTER.CV_INTER_CUBIC); ") – Leinad
さて、この記事を読んで理解してください(https://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix -it)質問です。それから、あなたはそれを解決するか、より狭く定義された質問をすることができます。 – Blorgbeard