情報詳細Q:サンプルプログラムのC:\ Program Files\Basler\pylon 5\Development\Samples\C++\Utility_GrabAviでコーデックの設定や何フレームに一回書き込むなど間引きの設定をしたい。A:まずpylonAPIの関数としてできることは、コーデック設定のみでして、間引きの設定などは、プログラミングにより実装するという流れになります。上記を追記したサンプルを当社の方で作成しました。間引きについては、カウンターとif文で実装しております。下記が変更箇所となります。実際のコードは添付ファイルを参照願います。ファイルUtility_GrabAvi_reduction.zip変更箇所==================================================================//コーデック設定SAviCompressionOptions compressionOptions("MSVC", true);pCompressionOptions = &compressionOptions;//// Open the AVI writer.aviWriter.Open("_TestAvi.avi",cFramesPerSecond,aviPixelType,(uint32_t)width->GetValue(),(uint32_t)height->GetValue(),ImageOrientation_BottomUp, pCompressionOptions); // Start the grabbing of c_countOfImagesToGrab images.// The camera device is parameterized with a default configuration which// sets up free running continuous acquisition.camera.StartGrabbing( c_countOfImagesToGrab, GrabStrategy_LatestImages); cout << "Please wait. Images are grabbed." << endl;// This smart pointer will receive the grab result data.CGrabResultPtr ptrGrabResult;//カウンター設定int i = 0; // Camera.StopGrabbing() is called automatically by the RetrieveResult() method// when c_countOfImagesToGrab images have been retrieved.while ( camera.IsGrabbing()){ // Wait for an image and then retrieve it. A timeout of 5000 ms is used. camera.RetrieveResult( 5000, ptrGrabResult, TimeoutHandling_ThrowException); // Display the image. Remove the following line of code to maximize frame rate. Pylon::DisplayImage(1, ptrGrabResult); //フレーム毎に書き込み if (i % 10 == 0){ aviWriter.Add( ptrGrabResult); // If images are skipped, writing AVI frames takes too much processing time. std::cout << "Images Skipped = " << ptrGrabResult->GetNumberOfSkippedImages() << boolalpha << "; Image has been converted = " << !aviWriter.CanAddWithoutConversion( ptrGrabResult)<< std::endl; if ( c_maxImageDataBytesThreshold < aviWriter.GetImageDataBytesWritten()){ std::cout << "The image data size limit has been reached." << endl; break; } } i++; //録画終了条件 if (i>1000 * 10){ break; } }=================================================================規定枚数に達するか、AVI動画の上限(2GB)に達した場合、別のファイルに録画するサンプルは、下記添付ファイルを参照願います。ファイルUtility_GrabAvi_separated_by_2GB.zip 添付ファイルUtility_GrabAvi.zipタイトルpylonAPI(C++)を使ったAVI保存時のコーデックの設定や間引き設定に ついてURL 名000005633公開状況公開済み検証状況公開済み