需要创建一个函数,在给定四个点的情况下裁剪图像。
输入:---------->图片,四个角点
输出:------->裁剪图像
到目前为止,我遇到过两种类型的裁剪功能,
1)使用一个点,高度&宽度
2)使用点,高度,宽度和宽度。一个角度 然而,这些功能似乎并没有完全解决我的问题。
为了更清楚,我试图在下图中描绘我的意图。 Cropping an image, by specifying corner points
答案 0 :(得分:2)
终于找到了我的问题的解决方案:)
// define quadrilateral's corners
List<IntPoint> corners = new List<IntPoint>( );
corners.Add( new IntPoint( x1, y1 ) );
corners.Add( new IntPoint( x2, y2 ) );
corners.Add( new IntPoint( x3, y3 ) );
corners.Add( new IntPoint( x4, y4 ) );
// create filter
QuadrilateralTransformation filter=new QuadrilateralTransformationBilinear( corners, NewWidth, NewHeight );
// apply the filter
Bitmap newImage = filter.Apply( image );
这会将任何四边形转换为矩形的四边形。 它帮助了我,希望这些信息对其他人也有帮助。