C# OpenCvSharp 基于霍夫变换直线检测的文本图像倾斜校正文本图像倾斜校

C# OpenCvSharp 基于霍夫变换直线检测的文本图像倾斜校正文本图像倾斜校 C# OpenCvSharp 基于霍夫变换直线检测的文本图像倾斜校正文本图像倾斜校项目简介这是是一个基于OpenCvSharp的 Windows 桌面应用程序用于对倾斜的文本图像进行自动角度检测与校正。程序采用 WinForms 界面支持用户上传图像实时显示原始图像与校正后的结果图像并输出检测到的倾斜角度。算法原理本项目采用**基于霍夫直线检测Hough LineTransform**的倾斜校正算法整体处理流程如下原始图像 → 灰度化 → 二值化 → 形态学膨胀 → Canny边缘检测 → 霍夫直线检测 → 计算平均倾斜角 → 仿射旋转校正各步骤说明步骤说明灰度化将彩色图像转为单通道灰度图降低计算复杂度二值化使用固定阈值50进行反向二值化使文字区域变为白色前景形态学膨胀使用 7×1 矩形结构元素进行水平方向膨胀将同一行文字连通为整体Canny 边缘检测对膨胀结果进行边缘提取得到文字行的上下边缘轮廓霍夫直线检测在极坐标空间中检测直线参数距离分辨率 1px角度分辨率 1°累加器阈值 110计算平均角度将所有检测到的直线角度求均值作为整体倾斜角仿射旋转校正以图像中心为旋转中心使用WarpAffine对原图进行反向旋转完成校正环境要求项目要求操作系统Windows 10 / 1164 位IDEVisual Studio 2019 或更高版本框架.NET Framework 4.7.2平台架构x64语言C#语法版本 ≤ 6.0依赖库OpenCvSharp 4.13.0安装步骤确保已安装Visual Studio 2019并勾选.NET 桌面开发工作负载。克隆或下载本项目到本地gitclone仓库地址使用 Visual Studio 打开解决方案文件FIRC.sln。在 Visual Studio 顶部工具栏中将平台切换为x64配置选择Debug。OpenCvSharp 相关 DLL 已放置于bin\x64\Debug\目录无需额外安装。若需重新生成可通过 NuGet 安装Install-Package OpenCvSharp4 -Version 4.13.0 Install-Package OpenCvSharp4.Extensions -Version 4.13.0 Install-Package OpenCvSharp4.runtime.win -Version 4.13.0执行一次生成 → 重新生成解决方案确认无编译错误。运行步骤在 Visual Studio 中将平台设置为x64配置选择Debug按F5启动程序。程序启动后显示主界面包含两个按钮和两个图像显示区域上传图片使用算法1霍夫直线检测进行倾斜校正上传图片(算法2)预留算法2接口点击上传图片按钮在弹出的文件选择对话框中选择一张图像文件支持.jpg、.jpeg、.png、.bmp、.tif、.tiff。程序自动完成图像处理与校正界面将显示左侧原始图像右侧校正结果顶部标签检测到的倾斜角度如需测试其他图像直接再次点击按钮重新选择即可。注意事项必须使用 x64 平台编译运行OpenCvSharp 原生库OpenCvSharpExtern.dll仅提供 x64 版本AnyCPU 模式下会抛出BadImageFormatException。语法限制项目严格遵循 C# 6.0 语法规范禁止使用以下 C# 7.0 特性字符串插值$...空值条件运算符?.、??模式匹配is/switch模式元组解构局部函数图像要求算法适用于包含明显水平文本行的图像背景需与文字有足够对比度。若图像中无直线被检测到程序会弹出提示。二值化阈值当前固定阈值为 50若图像整体偏亮或偏暗可能需要调整Cv2.Threshold中的阈值参数以获得更好效果。DLL 文件bin\x64\Debug\目录下的OpenCvSharpExtern.dll和opencv_videoio_ffmpeg4130_64.dll为原生 C 库必须与可执行文件在同一目录否则会报找不到 DLL 的错误。文件夹结构FIRC/ ├── Properties/ # 项目属性文件 │ ├── AssemblyInfo.cs # 程序集版本信息 │ ├── Resources.Designer.cs # 资源文件自动生成代码 │ ├── Resources.resx # 资源文件 │ ├── Settings.Designer.cs # 设置文件自动生成代码 │ └── Settings.settings # 应用程序设置 ├── bin/ # 编译输出目录 │ ├── Debug/ # AnyCPU Debug 输出不使用 │ ├── Release/ # AnyCPU Release 输出不使用 │ └── x64/ │ └── Debug/ # x64 Debug 输出主要运行目录 │ ├── dll/x64/ │ │ ├── OpenCvSharpExtern.dll # OpenCvSharp 原生 C 库 │ │ └── opencv_videoio_ffmpeg4130_64.dll # FFmpeg 视频库 │ ├── OpenCvSharp.dll # OpenCvSharp 托管库 │ ├── OpenCvSharp.Extensions.dll # OpenCvSharp 扩展库Mat↔Bitmap转换 │ ├── System.Buffers.dll # 运行时依赖 │ ├── System.Drawing.Common.dll # 绘图库 │ ├── System.Memory.dll # 内存管理库 │ ├── System.Numerics.Vectors.dll # 向量计算库 │ └── System.Runtime.CompilerServices.Unsafe.dll ├── App.config # 应用程序配置文件 ├── FIRC.csproj # 项目文件MSBuild 配置 ├── FIRC.sln # 解决方案文件 ├── Form1.cs # 主窗体业务逻辑图像处理与校正算法 ├── Form1.Designer.cs # 主窗体界面布局控件定义 └── Program.cs # 程序入口源码地址https://download.csdn.net/download/FL1623863129/90010795