找回密码
 立即注册
首页 业界区 科技 [快速阅读十]简易的文字图像周边突兀彩色异常区域去除算 ...

[快速阅读十]简易的文字图像周边突兀彩色异常区域去除算法。

圄旧剖 前天 10:13
  今天朋友给了一些拍照的文字图像,由于噪音以及JPG编码等因素的影响啊,在线条、文字等边缘的部位放大后查看可以看到有明显的彩色的斑点,这个对于后续的识别和处理都是不利的,因此,需要在进一步处理前把他们给去除掉,这里经过测试提出一个简单的算法,经过测试,还是有一定的效果的。
    
1.jpeg
   
2.jpeg

                原图放大                              Deinterlace处理后放大
  如上图所示,可以看到,在黑色线条和文字周边存在彩色 的色斑,要想办法尽量把这些彩色色斑去除,并且不影响整体的视觉效果。
  这个嘛,首先得看看我现有的算法是否有比较合适的结果的,找来找去,也就看到有个Deinterlace(去除交错)有点意思,但是观察呢发现,有几个问题,一个是整体变得模糊了一些,第二呢,就是一些不需要改变的区域也改变了。
  这里提出一个改进的思路,就是我们观察,这类图像啊,周边的彩色噪点他的饱和度都比较高,而正常位置差异比较小,因此,可以通过饱和度的值来初步判断这个要处理的区域。
  饱和度呢不要直接拿那个HSL模型里直接计算饱和度的公式去处理,而是只要计算RGB像素的最大值和最小值的差异,如果直接用差异大于某个阈值,判定那些区域需要处理的话,结果又会有很多过渡不自然的地方,因此,想到一种方法是用这个差异做权重,
并且为了可调节效果,还可以把这个差异按照参数在放大。
  即类似于下面的结果:
      Diff = max(b,g,r)-min(b,g,r);
      W = 255 - Diff * cof;
      if (W < 0)  W = 0;
      InvW = 255 - W;
      Result = Src * W + Deinterlace * InvW;
 
     
3.jpeg
       
4.jpeg

                  Cof = 1                                Cof = 2
  这种方法对于倾斜的彩色斑点的效果就要稍微弱一些,但是依旧是个不错的解决方案,当然,如果彩色斑点的宽度超过3个像素,估计就要不好弄了。
  本文Demo下载地址:  https://files.cnblogs.com/files/Imageshop/SSE_Optimization_Demo.rar,本算法位于Detection(检测相关)--》彩色斑点去除 菜单下,里面的所有算法都是基于SSE实现的。
  

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册