OpenCV to use in memory buffers or file pointers

前端 未结 6 734
悲&欢浪女
悲&欢浪女 2020-12-02 21:25

The two functions in openCV cvLoadImage and cvSaveImage accept file path\'s as arguments.

For example, when saving a image it\'s cvSaveImage(\"/tmp/output.j

6条回答
  •  臣服心动
    2020-12-02 21:45

    Here's an example in Delphi. It converts a 24bit bitmap for use with OpenCV

    function BmpToPIplImageEx(Bmp: TBitmap): pIplImage;
    Var
      i: Integer;
      offset: LongInt;
      dataByte: PByteArray;  
    Begin
      Assert(Bmp.PixelFormat = pf24bit, 'PixelFormat must be 24bit');
      Result := cvCreateImageHeader(cvSize(Bmp.Width, Bmp.Height), IPL_DEPTH_8U, 3);
      cvCreateData(Result);
      for i := 0 to Bmp.height - 1 do
      Begin        
        offset   := longint(Result.imageData) + Result.WidthStep * i;
        dataByte := PByteArray(offset);    
        CopyMemory(dataByte, Bmp.Scanline[i], Result.WidthStep);
      End;
    End;
    

提交回复
热议问题