CSharp Archive

分割粘粘字符的滴水算法的CSharp代码

本文的代码仅实现了向下滴落的滴水算法本身,不含起始滴落点的计算,而实际上起始滴落点的确定才是分割粘粘字符的关键点。关于滴水算法滴落起始点的文献将在下一篇文章中与大家分享。

Emgu CV 角点检测

点是是图像中的特殊位置,是常用且非常实用的一类特征,而点的局部特征也可以叫做“关键特征点”(keypoint feature),或“角点”(conrner)。本文在C#中使用emgu cv中的cvGoodFeaturesToTrack与cvCornerHarris​验证了Shi-Tomasi角点与Harris角点,十分有趣哦,上图先。

C#实现图像竖直投影

近期的学习重点的是如何让Tesseract识别粘连倾斜的字符(如下图所示),把这种图片直接丢给Tesseract肯定是不行的,我需要先将图片中的字符分开,然后再将倾斜的字符摆正,然后才可以给Tesseract呈上。那么现在第一个问题来了,怎样才能正确的将粘连字符分割呢?相关参考资料显示,通过竖直投影直方图的投影极小值,再辅以滴水算法的起始滴落点即可实现正确率较高的分割。

Sauvola 实现图像二值化

Sauvola 算法作为局部二值化算法,更加注重图像的局部特征,初次听闻Sauvola算法是在《基于背景估计和边缘检测的文档图像二值化》一文中,据说该算法是最好的二值化算法之一。为了更好的实现图像二值化,近期我孜孜不倦的在github中查找相关源码与文献。功夫不负有心人,我终于在github中找到了可用的Sauvola算法的源代码,并成功进行了实验验证。

图像二值化效果对比_emgucv/大津法/迭代法

图像二值化应该可以提高Tessnet对图像的识别率,因此我尝试先对一些模糊化的图像进行二值化,期望二值化后的图片黑白分明,前景完整清晰,以协助Tessnet更好的辨识图片中的内容。本文对比了大津法,迭代法,emgucv的cvSmooth,cvThreshold,cvCanny等方法二值化的效果,先看验证图。

EmguCv在VS2012中的配置方法_CSharp_win7

EmguCv 将OpenCv的绝大部分功能都包装成了.net类CvInvoke,该类使得CSharp可以直接调用OpenCv的函数,在这个类中的函数均对应于OpenCv中的同名函数。《验证码识别之C#图像识别类库tessnet2》一文中提及tessnet2识别前景与背景对比度差的图片能力不佳,理论上而言,如果验证码的图片可以成功二值化,那么tessnet2的识别率应该会高一些。因此,我开始尝试折腾EmguCv,试用成功,记录下试用过程,供需要的同学参考。

mshtml与webBrowser获取网页元素方式总结

作为一个C#自学中的新手,每走一步都特别的艰难。例如在使用mshtml与webBrowser时找一个正确的方式来获取到网页元素,都颇费周折。在此记录一下近期的学习经验,供需要的同学参考。

C#控件webBrowser使用心得

webBrowser是C#中的一个控件,在C#的windows窗体应用程序的"视图-->工具箱-->公共控件"中可以找到,它可以让我们在窗体中导航网页。我尝试这个控件的初衷是为了让它去调用淘宝基于KISSY库的js文件,虽然此目的以失败告终,但我对该控件的使用有了略微深一点的认知,记录下来备用。

C#实现自动领取淘金币

起初本想通过httphelper来实现自动领取淘金币的,但是我认为以自己目前的水平还没有能力实现这个功能,所以最终采用了C#模拟键盘鼠标的方式实现了该功能。首先我尝试用httphelper尝试实现了自动登录淘宝,可是若要用同样的方法实现自动领取淘金币,我必须找到领取淘金币的URL中所提交的关键信息,在我的认知里,这些关键信息必须调用一个基于KISSY库的js文件才能获取,这个功能我暂不知该如何实现。本着先易后难,条条大路通罗马的原则,我先尝试实现通过C#模拟键盘与鼠标的动作来实现该功能。

“对 COM 组件的调用返回了错误 HRESULT E_FAIL”解决方案

在实现《C#控制IE浏览器自动执行百度搜索》时,遇到第二个问题是:未处理的“System.Runtime.InteropServices.COMException”类型的异常出现在 autoSearchBaidu.exe 中。其他信息: 对 COM 组件的调用返回了错误 HRESULT E_FAIL。
Fork me on GitHub