Member 13469404 Ответов: 0

Intel realsense SR300 windows forms face detection - ошибка


Я использую C# для программирования распознавания лиц с помощью камеры Intel Realsense SR300. Ниже приведено приложение windows form. что включает в себя, просто окно с картинками, одну кнопку запуска и одну кнопку остановки. Я уже добавил все необходимые библиотеки. Я могу запустить свою форму windows, но когда я нажимаю кнопку Пуск, программа просто останавливается там, как будто она не отвечает, и мне пришлось вручную остановить программу из Visual studio.
Помоги мне с этим. Спасибо.

Что я уже пробовал:

использование системы;
использование системы.Коллекции.Общий;
использование системы.ComponentModel;
использование System.Data;
использование системы.Рисование;
использование System.Linq;
использование System.Text;
использование системы.Нарезание резьбы.Задачи;
использование системы.Окна.Формы;
использование системы.Диагностика;

пространство имен _11
{
общественности частичного класс form1 : форма
{
частный сеанс PXCMSession;
частный PXCMSenseManager senseManager;
частный PXCMFaceData faceData;
частный PXCMFaceModule facemodule;
частная faceConfiguration PXCMFaceConfiguration ;
открытый form1()
{
метод InitializeComponent();
}

частное обнаружение пустоты()
{
сеанс = PXCMSession.Метод createinstance();
senseManager = сеанс.CreateSenseManager();
сенсменеджер.EnableStream(PXCMCapture.StreamType.STREAM_TYPE_COLOR, 640, 480, 30);
сенсменеджер.EnableFace();

facemodule = senseManager.QueryFace();

faceConfiguration = facemodule.CreateActiveConfiguration();
фейсконфигурация.SetTrackingMode(PXCMFaceConfiguration.TrackingModeType.FACE_MODE_COLOR_PLUS_DEPTH);
faceConfiguration.detection.maxTrackedFaces = 2;
faceConfiguration.обнаружение.свойства isenabled = истина;

фейсконфигурация.Метод applychanges();
сенсменеджер.В этом();
faceData = facemodule.CreateOutput();
в то время как(правда)
{
if(senseManager.AcquireFrame(true) >= pxcmStatus.PXCM_STATUS_NO_ERROR)
{
перерыв;
}
if(faceData != null)
{
фейседата.Обновление();

}
int nfaces = faceData.QueryNumberOfDetectedFaces();
for (int i =0; i < nfaces; i++)
{
PXCMFaceData.Морду лица = faceData.QueryFaceByIndex(я);
processposition(лицо);

}
сенсменеджер.ReleaseFrame();
}

if (faceData != null)
{
faceData.Распоряжаться();

}
if (faceConfiguration != null)
{
фейсконфигурация.Располагать();
}

facemodule.Располагать();

}

private void processposition(PXCMFaceData.Лицо лицо)
{
PXCMFaceData.DetectionData detectionData = лицо.QueryDetection();
PXCMRectI32 прямоугольник;
detectionData.QueryBoundingRect(из прямоугольника);
}

частный недействительными Start_Click(объект отправителя, EventArgs в электронной)
{
обнаружить();
}

частная Stop_Click недействительным(объект отправителя, EventArgs в электронной)
{
сенсменеджер.Закрывать();
сенсменеджер.Располагать();
сессия.Располагать();
}

}
}

0 Ответов