【官方框架地址】
github.com/shimat/opencvsharp
【算法介绍】
采用opencv算法实现文字区域提取,步骤如下:
(1)形态学操作
(2)查找轮廓
(3)筛选那些面积小的
(4)面积小的都筛选
(5)找到最小的矩形
【效果展示】
原图
提取结果:
【实现部分代码】
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using OpenCvSharp;namespace FIRC
{public partial class Form1 : Form{Mat src = new Mat();public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){OpenFileDialog openFileDialog = new OpenFileDialog();openFileDialog.Filter = "图文件(*.*)|*.jpg;*.png;*.jpeg;*.bmp";openFileDialog.RestoreDirectory = true;openFileDialog.Multiselect = false;if (openFileDialog.ShowDialog() == DialogResult.OK){src = Cv2.ImRead(openFileDialog.FileName);pictureBox1.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(src);}}private void button2_Click(object sender, EventArgs e){if(pictureBox1.Image==null){return;}var resultMat =RegionManager.FindTextRegion(src);pictureBox2.Image= OpenCvSharp.Extensions.BitmapConverter.ToBitmap(resultMat); //Mat转Bitmap}private void Form1_Load(object sender, EventArgs e){}private void button3_Click(object sender, EventArgs e){}}
}
【源码下载】
https://download.csdn.net/download/FL1623863129/88706018
【测试环境】
vs2019
netframework4.7.2
opencvsharp4.8.0