Tensorflow 用机器学习去除手写签名图像中的背景
我是机器学习新手。 我想准备一份底部有签名的文件。Tensorflow 用机器学习去除手写签名图像中的背景,tensorflow,machine-learning,image-processing,deep-learning,artificial-intelligence,Tensorflow,Machine Learning,Image Processing,Deep Learning,Artificial Intelligence,我是机器学习新手。 我想准备一份底部有签名的文件。 为此,我拍摄了一张用户签名的照片,以放置在文档中 如何使用机器学习仅从图像中提取签名部分并将其放置在文档上? 输入示例: 应以gif格式输出: 在发布此类问题之前,请进行研究。一个简单的谷歌搜索“从图像python中提取签名”给出了如此多的结果 还有许多其他类似的选择。请看一看并尝试几种方法 如果您还有一些问题或疑问,请发布您采取的方法,并进行讨论。提取绿色图像平面。然后取每个像素灰度值的互补值作为透明度系数。然后可以执行到目标的合成
为此,我拍摄了一张用户签名的照片,以放置在文档中 如何使用机器学习仅从图像中提取签名部分并将其放置在文档上?
输入示例:
应以gif格式输出:
在发布此类问题之前,请进行研究。一个简单的谷歌搜索“从图像python中提取签名”给出了如此多的结果 还有许多其他类似的选择。请看一看并尝试几种方法
如果您还有一些问题或疑问,请发布您采取的方法,并进行讨论。提取绿色图像平面。然后取每个像素灰度值的互补值作为透明度系数。然后可以执行到目标的合成
使用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()