爬虫爬取某网站图片后,识别图片中的字符。
核心没什么太难的内容,卡在Emgucv的draw字符身上了。
当然后来发现opencv下看别人用pil搞定了,python下也有自己的中文字库很容易就替换了。
但Emgucv的资料太少了,最后想了一个很扯淡的招,自己画两张新图,一张有颜色的作为目标(就当是水印),一张黑白的作为掩码。最终效果如下图所示。核心代码如下:
System.Drawing.Bitmap bmp;
bmp = new System.Drawing.Bitmap(w, h);
Graphics g = Graphics.FromImage(bmp);
Font drawFont = new Font("宋体", 18, FontStyle.Bold);
g.DrawString(ep.words , drawFont, Brushes.Red, new PointF(0, 0));
g.Save();
Image<Bgr, byte> temp2 = new Image<Bgr, byte>(bmp);
Image<Gray, byte> temp3 = new Image<Gray, byte>(bmp);
//我懒,更好的是自己再画一张黑白的,我这就直接二值了。
temp3 = temp3.ThresholdBinary(new Gray(1d), new Gray(255d));
temp2.Copy(tempImage, temp3);
初开博客,目的是交流与合作,本人QQ:273651820。