python+opencv+skimage 文档图像处理(图像增强)

最近做一个图像处理的项目,陆续地踩了很多坑。分享一下

做一些文档的增强,功能如下:

1 图像去黑边

2 图像锐化

3 红头套打

详细思路

一 图像去黑边

   图像黑边的产生原因分析:

   a.由于文档图像在采集的时候(扫描/拍照等情况),可能存在光照不均匀,导致边缘部分偏黑。二值化之后容易产生比较大的污染

   b.扫描的文档尺寸小于扫描仪的尺寸,产生黑边

   黑边的特性:区域大,像素连通

   解决思路:

   a.找到大区域的联通像素

   b.将连通像素替换为白色

   实际操作

    1 对灰度图像进行预处理---直方图均衡,自适应均衡 opencv

    2 对灰度图做二值化,采用ots算法 opencv

    3 使用分水岭算法选出所有连通区域 skimage

    4 腐蚀操作,将小黑点与大区域连通 opencv

    4 去除小区域(黑色),获得较大区域,制作掩码

    5 将掩码与二值化结果做运算,去除黑边 

二 图像锐化

    运用图像的基本加减运算 与 opencv 自带的高斯模糊函数求得

    对灰度图做高斯模糊

    mask = 原灰度图-模糊图

    锐化图= 原灰度图 + mask 

三 红头套打

     保留原图的部分红头区域(人工辅助选择区域 ROI)

     主要是像素替换操作

原图

效果图

原文地址:https://www.cnblogs.com/LingoXu/p/7885622.html