Как сохранить захваченное видео камерой basler на ПК?
Я снял видео с обеих моих камер basler, используя приведенный ниже код. Проблема в том, что я хочу сохранить 2 видео в файлы на своем компьютере, но я точно не знаю, какой код мне нужен.Вот мой код:
#include <iostream> #include <pylon/PylonIncludes.h> #ifdef PYLON_WIN_BUILD #include <pylon/PylonGUI.h> #endif using namespace Pylon; using namespace std; static const uint32_t c_countOfImagesToGrab = 100000; static const size_t c_maxCamerasToUse = 2; int main(int argc, char* argv[]) { int exitCode = 0; PylonInitialize(); try { CTlFactory& tlFactory = CTlFactory::GetInstance(); DeviceInfoList_t devices; if (tlFactory.EnumerateDevices(devices) == 0) { throw RUNTIME_EXCEPTION("No camera present."); } CInstantCameraArray cameras(max(devices.size(), c_maxCamerasToUse)); for (size_t i = 0; i < cameras.GetSize(); ++i) { cameras[i].Attach(tlFactory.CreateDevice(devices[i])); cout << "Using device " << cameras[i].GetDeviceInfo().GetModelName() << endl; } cameras.StartGrabbing(); CGrabResultPtr ptrGrabResult; for (uint32_t i = 0; i < c_countOfImagesToGrab && cameras.IsGrabbing(); ++i) { cameras.RetrieveResult(5000, ptrGrabResult, TimeoutHandling_ThrowException); intptr_t cameraContextValue = ptrGrabResult->GetCameraContext(); #ifdef PYLON_WIN_BUILD Pylon::DisplayImage(cameraContextValue, ptrGrabResult); #endif cout << "Camera " << cameraContextValue << ": " << cameras[cameraContextValue].GetDeviceInfo().GetModelName() << endl; cout << "GrabSucceeded: " << ptrGrabResult->GrabSucceeded() << endl; cout << "SizeX: " << ptrGrabResult->GetWidth() << endl; cout << "SizeY: " << ptrGrabResult->GetHeight() << endl; const uint8_t* pImageBuffer = (uint8_t*)ptrGrabResult->GetBuffer(); cout << "Gray value of first pixel: " << (uint32_t)pImageBuffer[0] << endl << endl; } } catch (const GenericException& e) { // Error handling cerr << "An exception occurred." << endl << e.GetDescription() << endl; exitCode = 1; } cerr << endl << "Press Enter to exit." << endl; while (cin.get() != '\n'); PylonTerminate(); return exitCode; }
Спасибо!
Что я уже пробовал:
Я попробовал код cv::CreateVideoWriter FOURCC('P','I','M','1'), но он не работает так хорошо
Он сказал, что "CreateVideoWriter" не был объявлен, а также запятая", "had error:" ')' обязательны"
Richard MacCutchan
- но это не так хорошо работает."
Пожалуйста, отредактируйте свой вопрос и объясните, что именно это означает.
Member 14629414
@Richard MacCutchan я отредактировал этот вопрос.