坐地铁就能学会的3种"非常有趣"的 Python 玩法

Posted AI科技大本营

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了坐地铁就能学会的3种"非常有趣"的 Python 玩法相关的知识,希望对你有一定的参考价值。

作者 | 黄伟呢

来源 | 数据分析与统计学之美

本文说明

为什么要学习python?是因为不仅很多工作需要用到python,同时我们可以利用python做很多好玩儿的事儿。

比如说下面的3种用法:

  • 1.利用python给小猪佩奇换背景色;

  • 2.利用python将小猪佩奇切分为九宫格;

  • 3.利用python制作小猪佩奇动态二维码;

今天首先教大家如何利用python给小猪佩奇换背景色。

利用python给小猪佩奇换背景色

换背景色的原理:每一个图像都是由像素点构成的,我们想要替换他们的颜色,就是找到每个像素点对应的位置,然后用指定颜色,去替换它!

一般背景色并不是同一种像素点,无法完成像素点的定位,这就需要我们对图像进行【腐蚀】或【膨胀】,完成图片黑白话,这样白色的像素点是255,就可以很好的定位了。

import cv2
import numpy as np

# 读取照片
img=cv2.imread('zhu.jpg')

# 图像缩放
img = cv2.resize(img,None,fx=0.5,fy=0.5)
rows,cols,channels = img.shape
print(rows,cols,channels)
cv2.imshow('img',img)

# 图片转换为灰度图
hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
cv2.imshow('hsv',hsv)

# 图片的二值化处理
lower_blue=np.array([90,70,70])
upper_blue=np.array([110,255,255])
mask = cv2.inRange(hsv, lower_blue, upper_blue)


#腐蚀膨胀
erode=cv2.erode(mask,None,iterations=1)
cv2.imshow('erode',erode)

dilate=cv2.dilate(erode,None,iterations=1)
cv2.imshow('dilate',dilate)

#遍历替换
for i in range(rows):
  for j in range(cols):
    if erode[i,j]==255: # 像素点为255表示的是白色,我们就是要将白色处的像素点,替换为红色
      img[i,j]=(0,0,255)#此处替换颜色,为BGR通道
cv2.imshow('res',img)

# 窗口等待的命令,0表示无限等待
cv2.waitKey(0)

结果如下:

技术

用技术实现时序羽毛球动作预测

资讯

商汤科技上市,开启AI新篇章

资讯

苹果市值达3万亿美元,创历史新高

资讯

这个AI模型火上GitHub热榜

分享

点收藏

点点赞

点在看

以上是关于坐地铁就能学会的3种"非常有趣"的 Python 玩法的主要内容,如果未能解决你的问题,请参考以下文章

5分钟!就能学会以太坊 JSON API 基础知识!

2018首场《NLP·领袖公众演讲特训》与你相约 "五一节"!

一周就学会Python你真的能够做到吗?

半小时就能学会的简单爬虫项目:爬取豆瓣电影数据(包含注释,源码)

分分钟钟学会Python - 数据类型(列表元祖)

Python 30秒就能学会的漂亮短代码