最近在做图片文字提取的一个项目,这两天有点小进展,与大家分享一下。
//图片文字分割,并将分割得到的图片存储到当前路径
#include<opencv2/opencv.hpp>
#include<vector>
#define EXPANSION_MULTIPLE 1 //图片的膨胀倍数
using namespace std;
using namespace cv;
Mat myBinarize(Mat input) //图像阈值化
{
Mat binaryImage,grayImage; //使用OTSU界定输入图像
cvtColor(input, grayImage, CV_BGR2GRAY);
threshold(grayImage,binaryImage, 0, 255, THRESH_OTSU);
/*
int size = (int)(binaryImage.size().);
int white = countNonZero(binaryImage); //计算白像素的数目
int black = size - white; //计算黑像素的数目
return white < black ? binaryImage : ~binaryImage;
*/
imshow("【1、阈值处理结果】", grayImage);
return binaryImage;
}
Mat delWaterMark(Mat input) //去水印以及二值化图片
{
Mat gray1, dst, binary, gray2;
imshow("【有水印的原图】", input);
//void cvtColor(InputArray src, OutputArray dst, int code, int dstCn = 0);
cvtColor(input, gray1, COLOR_RGB2GRAY); //把原图转换成它的灰度图
//d