У меня есть захват изображения наклона на мобильный.Я хочу разрезать участок / часть изображения между двумя прямоугольниками с обеих сторон, чтобы найти круги между ними.У меня есть все 4 координаты средней части, такие как (x0, y0), (x1, y1), (x2, y2), (x3, y3).
Мое изображение выглядит так,
Но функция обрезки у меня есть что-то вроде
public static Bitmap CropImage(int x, int y, int width, int height, Bitmap bitmap)
{
Bitmap croppedImage;
var originalImage = bitmap;
{
Rectangle crop = new Rectangle(x, y, width, height);
croppedImage = originalImage.Clone(crop, originalImage.PixelFormat);
} // Here we release the original resource - bitmap in memory and file on disk.
return croppedImage;
}
Но выше функция обрезает часть как прямоугольниккак показано в 1-й и 2-й красной рамке.
Я ищу код для вырезания части, показанной в 3-м красном прямоугольнике.У меня был поиск по коду и выяснение ниже кода
List<IntPoint> corners = new List<IntPoint>();
corners.Add(new IntPoint(x0, y0));
corners.Add(new IntPoint(x3, y3));
corners.Add(new IntPoint(x1 + 30, y1 + 20));
corners.Add(new IntPoint(x2 + 30, y2 + 0));
AForge.Imaging.Filters.QuadrilateralTransformation filter = new AForge.Imaging.Filters.QuadrilateralTransformation(corners, WidthOfCut, HeightOfCut);
Bitmap newImage = filter.Apply(mainOuterWindow);
AForge.Imaging.библиотека, но она будет резать зелье, как показано ниже:
, которые нарушают форму круга и делают его эллипсом, что вызывает проблемы для других вычислений.
пожалуйста, дайтеЯ знаю, как обрезать изображение, используя 4 точки.
Или есть ли способ исправить наклон изображения, передавая угол коррекции?