加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

学会Python之后,感觉PS真的不行!Python修图拉开PS几条街!

发布时间:2020-12-17 01:03:12 所属栏目:Python 来源:网络整理
导读:在通常情况下,图片是否清晰是个感性认识,同一个图,有可能你觉得还过得去,而别人会觉得不清晰,缺乏一个统一的标准。然而有一些算法可以去量化图片的清晰度,做到有章可循。 进群:548377875 ? 即可获取数十套PDF哦! 有了代表清晰度的值,剩下的工作就是

在通常情况下,图片是否清晰是个感性认识,同一个图,有可能你觉得还过得去,而别人会觉得不清晰,缺乏一个统一的标准。然而有一些算法可以去量化图片的清晰度,做到有章可循。

进群:548377875 ? 即可获取数十套PDF哦!

有了代表清晰度的值,剩下的工作就是设定相应的阀值,如果某图片方差低于预先定义的阈值,那么该图片就可以被认为是模糊的,高于阈值,就不是模糊的。

实操

原理看起来比较复杂,涉及到很多信号啊图片处理的相关知识,下面我们来实操一下,直观感受下。

由于人生苦短,以及我个人是朋友圈第一 Python 吹子,我选择使用 Python 来实现,核心代码简单到令人发指:

由于人生苦短,以及我个人是朋友圈第一 Python 吹子,我选择使用 Python 来实现,核心代码简单到令人发指:

原图是这样的:

cv2.Laplacian(img2gray,cv2.CV_64F) 对图片用 3x3 拉普拉斯算子做卷积,这里的 cv2.CV_64F 就是拉普拉斯算子。

可以再找一张看看:

原图:

做灰度和经过拉普拉斯算子之后,可以看到人物部分已经不是很清晰了。

最后算出来的方差只有 530

剩下的工作就是根据整体图片质量确定阀值了。

局限性

通过上面的实操,我们知道这个算法的技巧在于设置合适的阀值,阈值太低会导致正常图片被误断为模糊图片,阈值太高会导致模糊图片被误判为正常图片。阀值依赖于你实际应用的业务场景,需要根据使用场景的不同做不同的定制。

比如:

计算出来是这样的,后面一大片都是黑的。

这个图前景其实看着还行,但是背景有大片的虚化和模糊,这种情况下比较容易被误杀。

所以最好还是在了解原理之后,根据实际场景来使用。

最后写了个简单的脚本,对传入的图片路径的图片进行计算,然后返回一个 json 字符串。

用法 python getRank.py --imgs=./1.jpg,./2.jpg

源码请私信哦!

碎碎念

记录一些所思所想,写写科技与人文,写写生活状态,写写读书感悟,欢迎关注,交流。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读