对象引用未设置为对象的实例.使用Emgu CV
本文关键字:实例 使用 Emgu CV 对象 设置 对象引用 | 更新日期: 2023-09-27 17:56:52
请大家帮助我解决以下语句中的问题:
MCvAvgComp[][] Detector = IMAGEgray.DetectHaarCascade(face, 2.1, 10,
Emgu.CV.CvEnum.HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, new Size(20, 20));"
调试解决方案后,编译器向我显示以下错误:
对象引用未设置为对象的实例。
因为您正在处理 Haar 级联逻辑,所以 IMAGEGray 看起来是类型的灰度图像
Image<Gray, byte> IMAGEGray;
确保它已正确初始化或从帧正确转换。基本上检查它是否为空。
在这一行中:
IMAGEgray.DetectHaarCascade(face, 2.1, 10, Emgu.CV.CvEnum.HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, new Size(20, 20));
face 是一个初始化的变量,如下所示:
var face = new HaarCascade("haarcascade_some_tree.xml");
确保人脸不为空。
如果两个变量都不为空,则 DetectHaarCascade 方法可能期望人脸对象中的某些字段为非空,并且它正在查找空。
确保人脸对象字段是否为非空。(变量初始化后的一些关键)
IMAGEgray 是静态类吗?如果不是,则可能是空字段和问题的根源。
否则,这听起来像是你调用的方法中的一个错误。
您需要
在.../bin/Debug中添加.xml文件。然后键入您的 ProcesFrame 方法:哈尔是哈尔瀑布haar = new HaarCascade("haarcascade_frontalface_default.xml");