ValeryV

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

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

  • Посещение

Репутация

0 Новичек

О ValeryV

  • Звание
    Новичок
  1. Помогите разобраться почему не работает программа для записи видео с экрана.Программа компилируется,но при запуске выскакивает исключение System.Runtime.InteropServices.SEHException" в приложении ЗАГОТОВКА_OpenCV_WF.exe Дополнительные сведения: Внешний компонент создал исключение. В стеке вызовов: "указанные ниже фреймы могут быть неверны и(или) отсутствовать,символы для opencv_core220d.dll не загружены" Проверяю frame - через cvShowImage( "original", frame ) - все в порядке.А записываться он не хочет. Вот код private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { const char *filename = "C:\\Users\\валера\\Pictures\\Video.avi"; Graphics^ graph; Bitmap^ bitmap; //cvNamedWindow("original",CV_WINDOW_AUTOSIZE); bitmap = gcnew Bitmap (Screen::PrimaryScreen->Bounds.Width,Screen::PrimaryScreen->Bounds.Height); CvSize size = cvSize(Screen::PrimaryScreen->Bounds.Width, Screen::PrimaryScreen->Bounds.Height); CvVideoWriter *writer = cvCreateVideoWriter(filename, CV_FOURCC('D','I','V','X'), 25, size, 1); assert(writer!=0); while(true){ graph = Graphics::FromImage(bitmap); graph->CopyFromScreen(0,0,0,0,bitmap->Size); System::Drawing::Rectangle Rect(0,0,bitmap->Width,bitmap->Height); Bitmap ^ bitmap1 = bitmap->Clone(Rect, Imaging::PixelFormat::Format32bppRgb); System::Drawing::Imaging::BitmapData^ bmData = bitmap->LockBits( System::Drawing::Rectangle(0, 0, bitmap1->Width, bitmap1->Height) , System::Drawing::Imaging::ImageLockMode::ReadWrite,bitmap1-> PixelFormat); frame = cvCreateImage(cvSize(bitmap1->Width , bitmap1->Height) , IPL_DEPTH_8U , 4); frame->imageData = (char*)bmData->Scan0.ToPointer(); cvNamedWindow("original",CV_WINDOW_AUTOSIZE); cvWriteFrame(writer, frame); // cvShowImage( "original", frame ); cvWaitKey(5); bitmap->UnlockBits(bmData); } cvReleaseCapture( &capture ); cvReleaseVideoWriter(&writer); // cvDestroyWindow("capture"); } Я в opencv (да и вообще в программировании) новичок, так что не очень критикуйте за допущенные ошибки
  2. К сожалению в указанной ветке есть только обратная конвертация - IplImage в bitmap
  3. Как преобразовать Bitmap (System::Drawing::Image) в IplImage*frame (openCV)?