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

菜鸟学Python

共 2091字,需浏览 5分钟

 ·

2021-03-27 09:54


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


小编看到这件事也非常气愤,也想通过自己的方式来抵制这些服装品牌。在这个事件之前,许多的海报或者图片中都或多或少的有一些品牌的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站!!

浏览 49
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报