仿照扫描全能王python程序实现

仿照扫描全能王python程序实现

由于某些原因,我得到一批文件,其大部分为扫描件,但再扫面件其中混杂了部分的拍照文件,因此萌生了使用python变成使拍照图片文字清晰,背景统一,即实现类似扫描文件的效果
本文最终原理参考->https://www.wandouip.com/t5i70153/

最终选择算法介绍

主要思想有二
1、高斯滤波对原图像进行处理,然后讲两张图利用图像除法,得到一张新图
2、对新图进行图像增强技术

下面介绍高斯滤波及矩阵除法操作
高斯滤波可以得到光照图像,记原图为A,经大核高斯滤波处理之后的图像为B,则目标图像L=A/B
使用python及相关库代码操作如下

def gauss_division(image):
    '''高斯滤波,图像除法
    image cv2'''
    src1 = image.astype(np.float32)
    gauss = gaussian_filter(image, sigma=101)
    gauss1 = gauss.astype(np.float32)
    dst1 = (src1 / gauss1) * 255
    return dst1

得到图像对比如下 原图:

在这里插入图片描述

经高斯滤波及矩阵除法处理后

在这里插入图片描述
经算法处理后的图像已经与扫描件非常相似,但黑白对比度不够明显,因此我们在此基础上对图像做图像增强处理

def image_enhancement(image):
    '''图像增强,增强对比度和亮度
    image PIL'''
    # 对比度增强
    enh_con = ImageEnhance.Contrast(image)
    # contrast = 5
    image_contrasted = enh_con.enhance(10)
    # 亮度增强
    enh_bri = ImageEnhance.Brightness(image_contrasted)
    image_contrasted1 = cv2.cvtColor(np.asarray(image_contrasted), cv2.COLOR_RGB2BGR)  # PIL转cv2
    clear = getImageVar(image_contrasted1)
    # print(clear)
    brightness = max(round(clear / 2000, 1), 1)
    # print(brightness)
    image_brightened = enh_bri.enhance(brightness)
    return image_brightened

处理后的图片如下

在这里插入图片描述
与上图相比,经图像增强的图片明显更加清晰,呈现效果有明显变化。
以上即为本算法主要思路

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值