毕业季又来了,今年受疫情影响,毕业答辩基本都在网上进行。很多材料都需要电子签名。由于受到纸张、光线和手机等外部环境的影响,并不是每个人都有完美的条件拍出比较好的签名照片。本文主要是利用python来对签名背景去除,提取签名照片。

python大法

  • 1. 存在的问题
  • 2. 背景去除代码
  • 3. 测试结果

1. 存在的问题

电子签名很多情况下都会用到,特别是今年疫情影响,很多材料都需要电子签名,但是自己在家签的名字总是不能让人满意,下面给出几张签的图片让大家看看。



上述三张图片是我用家里的稿子写的。图片中不仅仅存在纸张的问题,光线也比较昏暗,这种图片当然不能够直接的裁剪到论文或者相关材料中去,这就需要我们对背景进行处理。当然通过强大的PS工具可以完美实现这个功能。但是毕竟大多数人是一个PS小白(比如我)。那么作为程序员我们当然有自己独特的方法了,下面介绍一个简单的使用python实现的背景去除的功能。

2. 背景去除代码

我仅仅使用了python中的Image库来对图片进行简单的处理,当然如果使用强大的tup增强技术能够达到更好的效果,但是。。。。。。。。。。这个不是我的研究内容,也没有学习过,,所以就不进行操作了。下面首先给出python代码。

#coding:utf-8
from PIL import Image
from PIL import ImageOpsdef initTable(threshold=50):table = []for i in range(256):if i < threshold:table.append(1)else:table.append(0)return table
if __name__ == "__main__":image = Image.open("p1.jpg")# 转化为二值图片imgry = image.convert('L')# 根据阈值将图片的二值化像素值转化为0和1,理论上只需将签名的像素设为0,其它背景设为1binary = imgry.point(initTable(), '1')print(binary)# 再次进行二值化im1 = binary.convert('L')im2 = ImageOps.invert(im1)im3 = im2.convert('1')im4 = im3.convert('L')im4.show()

上述仅仅是一个简单的测试代码,写的并不美观,大家就不要在意一个形式问题了,代码中有具体的注释,就不进行具体的介绍。总体来说就是将图片读取之后,将其转化为二值图片,那么图片本质上就一个二维矩阵,其中每一个值都是0-255之间,那么我们现在需要将其中的签名部分,也就是黑色部分(这里我们的签名仅仅指的是黑色)赋值为0,其余部分设置为1。

关键就在于设置阈值,由于不同环境拍出的照片背景色的像素值不固定,签名的像素值也不一定,所以需要自己调整,这里我仅仅给出参考。

3. 测试结果

我们将第一节中的几张图片进行了测试,去除背景后的图片如下所示:



需要注意的是,每张图片的阈值都不相同,但基本上在50-90之间,不同的图片需要进行不同的尝试。



如果喜欢的大家可以直接拿去用o,觉得有用的话希望关注、收藏和点赞哦。

如果喜欢的话希望点赞收藏,关注我,将不间断更新博客。

希望热爱技术的小伙伴私聊,一起学习进步

来自于热爱编程的小白

白纸不够白,签名照片还需要ps去除背景?Python大法半完美解决电子签名背景问题(20行代码去除签名背景)相关推荐

  1. python人物抠图算法_比PS还好用!Python 20行代码批量抠图

    抠图前 vs Python自动抠图后 在日常的工作和生活中,我们经常会遇到需要抠图的场景,即便是只有一张图片需要抠,也会抠得我们不耐烦,倘若遇到许多张图片需要抠,这时候你的表情应该会很有趣. Pyth ...

  2. python开发ps插件_你还在用PS?Python 20行代码批量抠图

    抠图前 vs Python自动抠图后 在日常的工作和生活中,我们经常会遇到需要抠图的场景,即便是只有一张图片需要抠,也会抠得我们不耐烦,倘若遇到许多张图片需要抠,这时候你的表情应该会很有趣. Pyth ...

  3. 20行代码爬取王者荣耀全英雄皮肤!让你享受白嫖的快乐!

    引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行代码即可完成. 准备工作 爬取皮肤 ...

  4. python 抠图源码_比PS还好用!Python 20行代码批量抠图

    你是否曾经想将某张照片中的人物抠出来,然后拼接到其他图片上去,从而可以即使你在天涯海角,我也可以到此一游? 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道 ...

  5. 利用python,20行代码即可实现照片墙,还可以生成爱心形状哟

    照片,可以勾起无限零零碎碎的回忆,或美好,或悲伤. 将零零散散的回忆连接在一起,便是一段难以忘怀的往事. 今天就带给大家一种把多张照片集合成一张"照片墙"的方法,包学包会,注释非常 ...

  6. python可以修图吗_会照片处理的不只是ps,还有Python!

    女朋友老是吵着要修图,作为程序员,只会敲代码,不会ps啊,真是令人头大. 程序员是这么容易被难到的吗?肯定不会!最近发现了程序员的p图神器--python. python也可以修图吗?是滴!下面就带你 ...

  7. python处理图片去白底-Python实现将蓝底照片转化为白底照片功能完整实例

    本文实例讲述了Python实现将蓝底照片转化为白底照片功能.分享给大家供大家参考,具体如下: import cv2 import numpy as np img=cv2.imread('yay.jpg ...

  8. Python 把蓝底照片转化为白底照片

    本文系转载,出处:http://blog.csdn.net/haofan_/article/details/76618362. import cv2 import numpy as npimg=cv2 ...

  9. python黑屏改成白底_Python实现将蓝底照片转化为白底照片功能完整实例

    本文实例讲述了Python实现将蓝底照片转化为白底照片功能.分享给大家供大家参考,具体如下: import cv2 import numpy as np img=cv2.imread('yay.jpg ...

  10. ps怎么把黑白照片变成彩色?ps把儿童黑白照变彩色教程

    发布时间:2018-01-02 11:39:30 作者:tabc321123 https://m.jb51.net/photoshop/594215.html 怎么用ps把黑白照片变成彩色?教程以一张 ...

最新文章

  1. android logger的使用
  2. Python 修改tuple元组提示:TypeError: ‘tuple‘ object does not support item assignment. 问题原因
  3. pythonexcel工具介绍_Python处理excel的强大工具
  4. Android ListView几个重要属性
  5. php判断字符串中是否包含某字符串
  6. [html] 你知道什么是粘性布局吗?
  7. 超详细的MySQL工作原理 体系结构
  8. 创作优质的视频号作品四个方向
  9. LSTM VS RNN改进
  10. xss.haozi靶场练习记录
  11. vue 全屏背景图片 别看其他的了看我这篇就解决了!
  12. 爱数中标浙江红蜻蜓鞋业云共享项目
  13. 解读 ESP32 API参考-system-App Image Format
  14. java POI 实现合并单元格
  15. ip-cmd-遍历局域网内联通的所有IP地址
  16. java数组查找奇数_java – 在数组中对偶数和奇数进行排序
  17. 使用BAT脚本批量修改文件名的方法
  18. 技术2---swagger2
  19. php上传txt文件读取乱码
  20. 区块链投资基金致力于银行的一亿美…

热门文章

  1. JSP个人博客网站设计与实现
  2. GAPP添加overlay
  3. 苹果cms模板_万词无限模板站群黑帽SEO利器
  4. 如何隐藏SDK中符号
  5. Matplotlib系列(三):坐标轴变换及注释
  6. 2015中国十大域名注册商排名
  7. 想变好却不能坚持,我告诉你怎么办
  8. 蜂鸣器原理与驱动方式
  9. python实现格兰杰因果关系检验
  10. Python A value is trying to be set on a copy of a slice from a DataFrame