社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

看你抵制新疆棉花,看我用50行Python代码来抵制你!

菜鸟学Python • 3 年前 • 405 次点击  


最近一段时间,国外的一些服装品牌又在作妖,一方面赚着国人的钱,另一方面还发表了所谓的声明,要抵制我们大新疆生产的品质上乘的棉花。随着事件的不断的发酵,微博热搜的一波波迭起。许多明星艺人都纷纷终止了与国外的这些服装品牌终止了合作。


小编看到这件事也非常气愤,也想通过自己的方式来抵制这些服装品牌。在这个事件之前,许多的海报或者图片中都或多或少的有一些品牌的logo,比如歌坛天王Eason的海报,近期Eason也宣布了终止与阿迪合作。Eason拿下是全球代言人而且是终身合同,这个级别是非常高的,能第一时间站出来解除合作,真心为他点赞!


作为Python狂热爱好者,我想了一下,我也可以做一些事情用程序来表达我的愤怒,比如给这些品牌打码。如果一张张图片进行打码可谓是费时费力,小编通过查阅相关的资料,通过短短的五十行代码就可以自动的对这些logo进行打码,一起来看看吧。


01.程序讲解

自动化的对于这些logo进行打码的话,需要分为两步进行处理:

  • 识别图像中的logo,并获取logo的坐标

  • 对logo进行打码的处理


02.识别图像中的logo,并获取logo的坐标

首先,我们先来看一下如何识别图像中的品牌logo。这里的识别我们利用的是百度AI最近比较热门的一个图像识别应用——品牌logo识别。

可以看到,这个应用能够识别的logo超过了两万个商品,包含了我们常见的一些服装品牌的logo。对于图片logo的识别,其程序如下图所示:

程序中首先通过二进制的方式读入通图片,并进行base64的编码,然后将图片和access_token令牌信息向指定的网址进行提交,然后返回logo的信息,包括了logo的品牌名字以及logo在图片中的位置信息。如下图所示:


03.对logo进行打码的处理

有了logo的坐标信息后,接下来我们就是在图片中将logo进行打码,打码的程序如下图所示:

上图程序中,首先读入原始的图片并获取图片的长和宽,然后针对图片中的logo区域,按照logo区域的像素值都加上logo区域的左上角像素值,给logo区域进行打码处理,最后将打码后的图片保存到本地。

由于一张图片中可能有多个logo区域,因此需要通过for循环来对一张图片中的所有logo区域进行打码处理。


04.结果展示

最后,我们通过图片的展示来看一下最终的打码的结果吧,如下图所示。

可以看到,通过程序的运行可以很好的将logo进行一个打码的操作处理。但是在logo的识别过程中,受到光线,logo的形状变化和遮挡等情况的存在,也可能会出现logo的误检和识别不充分的情况,就想下面图中的结果。


可以看到,上图的结果中,中间的logo受到了遮挡,导致识别的结果和位置不是特别的准确,但是对于左上角的logo处理是非常出色的。


05.总结

以上就是小编今天为大家带来的小分享,通过简单的五十行程序的处理,就可以自动的对于logo进行马赛克的处理。大家自己动手来试一试效果,亲手来“抵制”这些服装的品牌。



推荐阅读:

入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径


干货: 爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |


趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!


AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影


年度爆款文案





    
点这里,直达菜鸟学PythonB站!!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/110506
 
405 次点击