Перейти к содержимому
Compvision.ru

Сергей Александрович

Пользователи
  • Количество публикаций

    8
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные пользователем Сергей Александрович


  1. Я не знаю как воспроизвести видео файл вот кусок из кода...

    private void button2_Click(object sender, EventArgs e)

    {

    OpenFileDialog ofd = new OpenFileDialog();

    // Initialisieren Datei-Dialog

    ofd.InitialDirectory = "C:\\Dokumente und Einstellungen\\Wartung\\Eigene Dateien\\Eigene Videos";

    ofd.Filter = "Avi files (avi)|*.avi; | Windows Media File (wmf)|*.wmf; | All Files (*.*) | *.*;";

    ofd.FilterIndex = 3;

    ofd.RestoreDirectory = true;

    // Datei Dialog

    if (ofd.ShowDialog() == DialogResult.OK)

    {

    textBox1.Text = ofd.FileName;

    }

    else return;

    }


  2. У меня проблема при построении решения(при компиляции на х64 то все нормально):

    Предупреждение 1 "Emgu.CV.HaarCascade" является устаревшим: "Please use CascadeClassifier instead. This class will be removed in the next version" E:\Face Recognition x86\Face Recognition\Main Form1.cs 34 28 Face Recognition

    Предупреждение 2 "Emgu.CV.HaarCascade" является устаревшим: "Please use CascadeClassifier instead. This class will be removed in the next version" E:\Face Recognition x86\Face Recognition\Main Form1.cs 34 39 Face Recognition

    Предупреждение 3 "Emgu.CV.HaarCascade" является устаревшим: "Please use CascadeClassifier instead. This class will be removed in the next version" E:\Face Recognition x86\Face Recognition\Training Form.cs 35 21 Face Recognition

    Предупреждение 4 "Face_Recognition.Training_Form.Parent" скрывает наследуемый член "System.Windows.Forms.Control.Parent". Если предполагается скрытие, используйте ключевое слово new. E:\Face Recognition x86\Face Recognition\Training Form.cs 55 15 Face Recognition

    Предупреждение 5 "Emgu.CV.Image<Emgu.CV.Structure.Gray,byte>.DetectHaarCascade(Emgu.CV.HaarCascade, double, int, Emgu.CV.CvEnum.HAAR_DETECTION_TYPE, System.Drawing.Size)" является устаревшим: "Use HaarCascade.Detect function instead. This function will be removed in the next release" E:\Face Recognition x86\Face Recognition\Training Form.cs 106 48 Face Recognition

    Предупреждение 6 "Emgu.CV.Image<Emgu.CV.Structure.Gray,byte>.DetectHaarCascade(Emgu.CV.HaarCascade, double, int, Emgu.CV.CvEnum.HAAR_DETECTION_TYPE, System.Drawing.Size)" является устаревшим: "Use HaarCascade.Detect function instead. This function will be removed in the next release" E:\Face Recognition x86\Face Recognition\Main Form1.cs 129 48 Face Recognition

    Предупреждение 7 "Emgu.CV.Image<Emgu.CV.Structure.Gray,byte>.DetectHaarCascade(Emgu.CV.HaarCascade, double, int, Emgu.CV.CvEnum.HAAR_DETECTION_TYPE, System.Drawing.Size)" является устаревшим: "Use HaarCascade.Detect function instead. This function will be removed in the next release" E:\Face Recognition x86\Face Recognition\Main Form1.cs 166 48 Face Recognition

    Предупреждение 8 Переменная "ex" объявлена, но ни разу не использована E:\Face Recognition x86\Face Recognition\Training Form.cs 238 30 Face Recognition

    вот данные строки как их можно исправить?

    1)public HaarCascade Face = new HaarCascade(Application.StartupPath + "/Cascades/haarcascade_frontalface_alt_tree.xml");

    2) HaarCascade Face;

    3) MCvAvgComp[][] facesDetected = gray_frame.DetectHaarCascade(Face, 1.2, 10, Emgu.CV.CvEnum.HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, new Size(50, 50));

    а так все остальные строки такие же


  3. Единственная проблема данный способ надо перевести на видеопоток. Чтоб при съемки с тепловизера производилась детекция. Да кстати я в программирование не силен может кто поможет перевести все это WinForm.

    #include "stdafx.h"
    
    #include "cv.h"
    
    #include "highgui.h"
    
    #include <stdio.h>
    
    #include <stdlib.h>
    
    #include <string.h>
    
    #include <assert.h>
    
    #include <math.h>
    
    #include <float.h>
    
    #include <limits.h>
    
    #include <time.h>
    
    #include <ctype.h>
    
    
    
    // Создаем строку, содержащую точное имя каскад
    
    const char* cascade_name =
    
        "E:/haarcascade_frontalface_alt.xml";
    
    /*    "haarcascade_profileface.xml";*/
    
    
    
    // Прототип функции для обнаружения и рисования объект из изображения
    
    void detect_and_draw( IplImage* image );
    
    
    // Основные функции, определяет точку входа в программу.
    
    int main( int argc, char** argv )
    
    {
    
    
        // Создаем пример изображения
    
        IplImage *img = cvLoadImage("E:/14.bmp");
    
    
        //Вызов этой функции для обнаружения и нарисования лица
    
        detect_and_draw(img);
    
    
        // Ожидание ввода пользователя перед выходом из программы
    
        cvWaitKey();
    
    
        cvReleaseImage(&img);
    
    
        // Уничтожим окно ранее созданных файла с именем: "Result"
    
        cvDestroyWindow("result");
    
    
        return 0;
    
    }
    
    
    // Функция обнаружения лица, которое присутствует в изображении
    
    void detect_and_draw( IplImage* img )
    
    {
    
    
        //Создаем память для расчетов
    
        static CvMemStorage* storage = 0;
    
    
        // Создаем новый классификатор Haar
    
        static CvHaarClassifierCascade* cascade = 0;
    
    
        int scale = 1;
    
    
        // Создаем новый образ, основанный на входном изображении
    
        IplImage* temp = cvCreateImage( cvSize(img->width/scale,img->height/scale), 8, 3 );
    
    
        // Создаем две точки, представляющие местоположение лица
    
        CvPoint pt1, pt2;
    
        int i;
    
    
        // Загружаем HaarClassifierCascade
    
        cascade = (CvHaarClassifierCascade*)cvLoad( cascade_name, 0, 0, 0 );
    
    
        // Проверяем, правильно ли каскад загрузился. 
    
        if( !cascade )
    
        {
    
            fprintf( stderr, "ОШИБКА: Не был загружен cascade\n" );
    
            return;
    
        }
    
    
        // Выделим память для хранения
    
        storage = cvCreateMemStorage(0);
    
    
        // Создаем новое имя окна с заголовком: «result»
    
        cvNamedWindow( "result", 1 );
    
    
        // Очистим хранилище памяти, который использовался до
    
        cvClearMemStorage( storage );
    
    
        // Найдем загрузился каскад, чтобы найти лица. Если да, то:
    
        if( cascade )
    
        {
    
    
            // Может быть более одного лица на изображении. Так, чтобы создать последовательность лица.
    
            // Определить объекты и хранить их в той последовательности
    
            CvSeq* faces = cvHaarDetectObjects( img, cascade, storage,
    
                                                1.1, 2, CV_HAAR_DO_CANNY_PRUNING,
    
                                                cvSize(40, 40) );
    
    
    
            for( i = 0; i < (faces ? faces->total : 0); i++ )
    
            {
    
               // Создаем новый прямоугольник для рисования лица
    
                CvRect* r = (CvRect*)cvGetSeqElem( faces, i );
    
    
                // Найдем размеры лица, и масштабы его, если необходимо,
    
                pt1.x = r->x*scale;
    
                pt2.x = (r->x+r->width)*scale;
    
                pt1.y = r->y*scale;
    
                pt2.y = (r->y+r->height)*scale;
    
    
                // Нарисуем прямоугольник, в входное изображение
    
                cvRectangle( img, pt1, pt2, CV_RGB(255,0,0), 3, 8, 0 );
    
            }
    
        }
    
    
        // Показать изображения в окно "result"
    
        cvShowImage( "result", img );
    
    
            cvReleaseImage( &temp );
    
    }
    
    

×