如何在 Emgu 中将 Mat 裁剪为 ROI(C# 的 OpenCV)

Ahm*_*med 2 .net c# opencv emgucv

我发现的一些答案建议使用:

frame = ...
Rectangle ROI = ...
Mat crop = new Mat(frame, ROI) 
Run Code Online (Sandbox Code Playgroud)

但这在 Emgu 3.x 中似乎没有

Aer*_*ics 6

Ahmed,你真的不必为了创建一个 Mat 而创建一个 Image<>。请尝试以下操作:

Mat myNewMat = new Mat(input, crop_region);
Run Code Online (Sandbox Code Playgroud)

由于您没有 RotatedRect,因此您不必将旋转的矩形转换为直立的矩形。因此,您可以从现有的 Mat 和矩形创建一个新的 Mat。

这应该可以工作并且可以简化您的代码。

道格