【问题标题】:Using machine learning to remove background in image of hand-written signature使用机器学习去除手写签名图像中的背景
【发布时间】:2020-05-19 10:28:41
【问题描述】:

我是机器学习的新手。 我想准备一份底部有签名的文件。
为此,我正在拍摄用户签名的照片以放置在文档中。

如何使用机器学习仅从图像中提取签名部分并将其放置在文档上?
输入示例:

需要 gif 格式的输出:

【问题讨论】:

  • IMO,机器学习与此任务无关/过度杀伤。
  • “预期的输出”图像什么也没说明。

标签: tensorflow machine-learning image-processing deep-learning artificial-intelligence


【解决方案1】:

提取绿色图像平面。然后取每个像素灰度值的互补作为透明度系数。然后就可以合成到目的地了。

https://en.wikipedia.org/wiki/Alpha_compositing

【讨论】:

    【解决方案2】:

    使用 OpenCV 的简单图像处理技术应该可以工作。这个想法是获得一个二进制图像,然后按位 - 并去除图像中的非签名细节。结果如下:

    输入图像

    二值图像

    结果

    代码

    import cv2
    
    # Load image, convert to grayscale, Gaussian blur, Otsu's threshold
    image = cv2.imread('1.jpg')
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    blur = cv2.GaussianBlur(gray, (3,3), 0)
    thresh = cv2.threshold(blur, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]
    
    # Bitwise-and and color background white
    result = cv2.bitwise_and(image, image, mask=thresh)
    result[thresh==0] = [255,255,255]
    
    cv2.imshow('thresh', thresh)
    cv2.imshow('result', result)
    cv2.waitKey()
    

    【讨论】:

      【解决方案3】:

      在发布此类问题之前,请先进行研究。一个简单的谷歌搜索“从图像 python 中提取签名”得到了很多结果。

      1. Git Repo

      2. Git Repo

      3. Stack Overflow

      还有许多其他这样的选择。请看一下并尝试一些方法。

      如果您仍有一些问题或疑问,请发布您采取的方法并进行讨论。

      【讨论】:

        猜你喜欢
        • 2020-05-06
        • 1970-01-01
        • 2020-04-11
        • 2021-01-12
        • 2019-06-22
        • 1970-01-01
        • 2013-12-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多