diff --git a/src/bindings/csharp/openalpr-net/openalpr-net.cpp b/src/bindings/csharp/openalpr-net/openalpr-net.cpp index bd0ed82..9884668 100644 --- a/src/bindings/csharp/openalpr-net/openalpr-net.cpp +++ b/src/bindings/csharp/openalpr-net/openalpr-net.cpp @@ -93,7 +93,10 @@ namespace openalprnet { bitmap->PixelFormat ); - cv::Mat dstMat(cv::Size(bitmap->Width, bitmap->Height), CV_8UC(channels), reinterpret_cast(bitmapData->Scan0.ToPointer())); + char *src = reinterpret_cast(bitmapData->Scan0.ToPointer()); + pin_ptr pin(&src[0]); + + cv::Mat dstMat(cv::Size(bitmap->Width, bitmap->Height), CV_8UC(channels), pin); bitmap->UnlockBits(bitmapData); @@ -147,7 +150,10 @@ namespace openalprnet { bitmap->PixelFormat ); - ::memcpy(bitmapData->Scan0.ToPointer(), data, totalSize); + char *src = reinterpret_cast(bitmapData->Scan0.ToPointer()); + pin_ptr pin(&src[0]); + + ::memcpy(pin, data, totalSize); bitmap->UnlockBits(bitmapData);