我承担了解密旧的出生/洗礼声明(1734)的手写文本的任务,该声明已洗净了页面底部的墨水(请参阅original photo Chavane.jpg)。
更具体地说,它是用于删除的文本,从姓氏输入Chavane之后开始,在这里您几乎看不到“Le dix neufdécembre...”。我们的总统可以做的最大尝试是显示为Chavane2.jpg
我是tried isolating only the erased part,这实际上应该是我们采用不同技术(例如these)之前的起点,但是我对图像处理的知识很低,结果也不是很好。我可以得到的最好的是under clahe_2.png,使用以下代码:

import cv2 as cv
img = cv.imread('Chavane.jpg',0)
# create a CLAHE object (Arguments are optional).
clahe = cv.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
cl1 = clahe.apply(img)
在尝试逐像素擦除Gimp之前,我想确定这确实是最好的基础。

最佳答案

您可以在Python / OpenCV中使用除法归一化来提高质量。

  • 读取输入的
  • 转换为灰度
  • 模糊图像
  • 用灰度图像除以模糊图像
  • 应用锐化蒙版以锐化并增加对比度
  • 保存结果

  • 输入:
    python - 使用OpenCV或Gimp通过水洗的墨水提高旧手写出生声明的质量-LMLPHP
    import cv2
    import numpy as np
    import skimage.filters as filters
    
    # read the image
    img = cv2.imread('Chavane.jpg')
    
    # convert to gray
    gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    
    # blur
    smooth = cv2.GaussianBlur(gray, (33,33), 0)
    
    # divide gray by morphology image
    division = cv2.divide(gray, smooth, scale=255)
    
    # sharpen using unsharp masking
    sharp = filters.unsharp_mask(division, radius=1.5, amount=2.5, multichannel=False, preserve_range=False)
    sharp = (255*sharp).clip(0,255).astype(np.uint8)
    
    # save results
    cv2.imwrite('Chavane_division.jpg',division)
    cv2.imwrite('Chavane_division_sharp.jpg',sharp)
    
    # show results
    cv2.imshow('smooth', smooth)
    cv2.imshow('division', division)
    cv2.imshow('sharp', sharp)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    分区图片:
    python - 使用OpenCV或Gimp通过水洗的墨水提高旧手写出生声明的质量-LMLPHP
    锐化图像:
    python - 使用OpenCV或Gimp通过水洗的墨水提高旧手写出生声明的质量-LMLPHP

    10-07 12:24