c# 怎么写 文本图片倾斜纠正 算法呢,有现成开源吗 有没有人做过 文本图片倾斜纠正 的算法 哪里有开源的例子可以参考下看了些论文 都是用线性代数的 早忘光了比方来说扫描了一张A4纸大小的文档,上传到服务器后发现时斜的,需要给纠正。最好是c#的,谢谢大家 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你不需要背景颜色,可以去掉这个参数// <summary> /// 任意角度旋转 /// </summary> /// <param name="bmp">原始图Bitmap</param> /// <param name="angle">旋转角度</param> /// <param name="bkColor">背景色</param> /// <returns>输出Bitmap</returns> public static Bitmap KiRotate(Bitmap bmp, float angle, Color bkColor) ...{ int w = bmp.Width + 2; int h = bmp.Height + 2; PixelFormat pf; if (bkColor == Color.Transparent) ...{ pf = PixelFormat.Format32bppArgb; } else ...{ pf = bmp.PixelFormat; } Bitmap tmp = new Bitmap(w, h, pf); Graphics g = Graphics.FromImage(tmp); g.Clear(bkColor); g.DrawImageUnscaled(bmp, 1, 1); g.Dispose(); GraphicsPath path = new GraphicsPath(); path.AddRectangle(new RectangleF(0f, 0f, w, h)); Matrix mtrx = new Matrix(); mtrx.Rotate(angle); RectangleF rct = path.GetBounds(mtrx); Bitmap dst = new Bitmap((int)rct.Width, (int)rct.Height, pf); g = Graphics.FromImage(dst); g.Clear(bkColor); g.TranslateTransform(-rct.X, -rct.Y); g.RotateTransform(angle); g.InterpolationMode = InterpolationMode.HighQualityBilinear; g.DrawImageUnscaled(tmp, 0, 0); g.Dispose(); tmp.Dispose(); return dst; } 如果要自动纠正,建议你使用一些专业的软件。比如清华紫光OCR 恩,自己写我基本是放弃了,我找了个ImagXpress 组件还在研究怎么用 opencv 各种图像算法,开源的 关于c# 操作 excle 显示数据 速度慢的疑问 帮我看看这个代码对么?很初级的,应该大家都会 Command 的 Transaction 属性尚未初始化。 单击按钮,一行一行清除datagridview里面的内容 请教这3句代码的区别 this关键字 数据库存储过程执行代码,因数据库不同一段出错,不段正常,不得其解. 请问在.net中如何调pdf的编程接口 基础连接已经关闭: 接收时发生错误。 combbox 设置选中的值 [求助] 获取图片失败,图片地址以app.qlogo.cn开头 C# 加密算法
/// 任意角度旋转
/// </summary>
/// <param name="bmp">原始图Bitmap</param>
/// <param name="angle">旋转角度</param>
/// <param name="bkColor">背景色</param>
/// <returns>输出Bitmap</returns>
public static Bitmap KiRotate(Bitmap bmp, float angle, Color bkColor)
...{
int w = bmp.Width + 2;
int h = bmp.Height + 2; PixelFormat pf; if (bkColor == Color.Transparent)
...{
pf = PixelFormat.Format32bppArgb;
}
else
...{
pf = bmp.PixelFormat;
} Bitmap tmp = new Bitmap(w, h, pf);
Graphics g = Graphics.FromImage(tmp);
g.Clear(bkColor);
g.DrawImageUnscaled(bmp, 1, 1);
g.Dispose(); GraphicsPath path = new GraphicsPath();
path.AddRectangle(new RectangleF(0f, 0f, w, h));
Matrix mtrx = new Matrix();
mtrx.Rotate(angle);
RectangleF rct = path.GetBounds(mtrx); Bitmap dst = new Bitmap((int)rct.Width, (int)rct.Height, pf);
g = Graphics.FromImage(dst);
g.Clear(bkColor);
g.TranslateTransform(-rct.X, -rct.Y);
g.RotateTransform(angle);
g.InterpolationMode = InterpolationMode.HighQualityBilinear;
g.DrawImageUnscaled(tmp, 0, 0);
g.Dispose(); tmp.Dispose(); return dst;
}
比如清华紫光OCR
还在研究怎么用