引言

脑海里一直想着做一个心形九宫格图像,结果今天七夕,给我了动力

程序

部分代码示例:

def obtain_heart(image_path):

"""

将给定图像抠为心形

"""

heart_im = cv2.imread('./assets/heart.jpg')

heart_im = cv2.cvtColor(heart_im, cv2.COLOR_BGR2GRAY)

im = cv2.imread(image_path)

im = cv2.resize(im, (heart_im.shape[1], heart_im.shape[0]))

im_back = np.zeros_like(im)

rows, cols = heart_im.shape

for i in range(rows):

for j in range(cols):

if heart_im[i, j] == 0:

im_back[i, j, :] = im[i, j, :]

else:

im_back[i, j, :] = 255

im_back = cv2.cvtColor(im_back, cv2.COLOR_BGR2RGB)

return im_back

def split_nine_images(im: np.array):

"""

将图像分为九部分,并保存到对应路径下

"""

height, width = im.shape[:2]

height, width

big_line = max(height, width)

newImg = np.zeros([big_line, big_line, 3], np.uint8) + 255

if height > width:

edge = (big_line - width) // 2

newImg[:, edge: width+edge, :] = im

else:

edge = (big_line - height) // 2

newImg[edge: height+edge, :, :] = im

subHeight, subWidth = int(big_line / 3), int(big_line / 3)

for i in range(3):

for j in range(3):

if i < 2:

if j < 2:

tempImg = newImg[i*subHeight: (i+1)*subHeight, j*subWidth: (j+1)*subWidth, :]

else:

tempImg = newImg[i*subHeight: (i+1)*subHeight, j*subWidth:, :]

else:

if j < 2:

tempImg = newImg[i*subHeight: , j*subWidth: (j+1)*subWidth, :]

else:

tempImg = newImg[i*subHeight: , j*subWidth:, :]

tempImg = cv2.cvtColor(tempImg, cv2.COLOR_BGR2RGB)

cv2.imwrite(f'./assets/images/{i*3+j}.jpg', tempImg)

效果对比

说明

代码中提供了简单几种图案,可以自己做喜欢的

python七夕快乐图片_程序员的七夕:Python生成女神的九宫格心形图像相关推荐

  1. python制作表白神器_程序员的七夕用30行代码让Python化身表白神器

    转眼又到了咱们中国传统的情人节七夕了,今天笔者就带大家来领略一下用Python表白的方式.让程序员的恋人们感受一下IT人的浪漫. 一.词云制作 首先咱们可以用之前介绍过的wordcould包制作词云. ...

  2. python技术栈全景图_程序员之数据分析Python技术栈

    程序员之数据分析Python技术栈 Python是一种非常流行的脚本语言,其还提供了一个科学技术栈,可以进行快捷方便的数据分析,本系列文章将聚焦在如何使用基于Python的技术栈来构建数据分析的工具集 ...

  3. python绘制生日快乐图片_程序员如何用代码祝自己生日快乐(多用模板)

    原标题:程序员如何用代码祝自己生日快乐(多用模板) 本文教你如何用代码为自己庆祝生日,当然你也可以用来讨好女神,具体如何应用大家可以发散思维,例如情人节给暗恋的女孩发一个 JS 文件过去表白,或者给女 ...

  4. 怎样下载安装python编程软件视频_程序员如何利用Python下载视频?几串代码轻松搞定...

    很多学生或者工作人员想要下载网络上的一些视频,但是苦于找不到合适的下载方法.无从下手. 首先,我这里用到的是Python代码.没想到又是Python吧.这次很简单,不需要复制和写代码. 首先,你先下载 ...

  5. java7夕_程序员的七夕节……

    ↑ 点击上方"程序人生"关注我们 你与程序员的七夕程序员的七夕 七夕节,发源于中国,象征爱情的节日.平日被外界定义为沉闷的程序员们,在这个日子里也是浪漫的很性感!这是真的-- 七夕 ...

  6. python跑神经网络_程序员深夜用Python跑神经网络,只为用中二动作关掉台灯!

    原标题:程序员深夜用Python跑神经网络,只为用中二动作关掉台灯! 关注 文章源于网络,如有侵权请联系删除. 对于上了床就再也不想下来的人来说,关灯成为睡觉前面临的最大挑战! 然而这一届网友永远不会 ...

  7. 程序员女朋友礼物python代码_@程序员,用 Python 给女朋友准备个儿童节礼物可好?...

    原标题:@程序员,用 Python 给女朋友准备个儿童节礼物可好? 作者 | 猿媛牧场 现在谈个恋爱.结个婚是真的炸啊.你 2.14 要送礼物,我认了,必须送啊,没有理由不送啊:3.14 白色情人节, ...

  8. python ios开发环境_程序员的macOS系列:Mac开发环境配置

    1.前言 最近在写<程序员的macOS系列>文章,之前写的第一篇 程序员的macOS系列:精选Mac App,大家都希望楼主尽快更新,结果拖到了2个月后,所以今天终于更新啦!其实macOS ...

  9. python刷红包_程序员小伙使用Python刷短视频自动领红包,好嗨哟

    最近有几款比较火的刷短视频就可以领红包的App,只要简单的上下翻页浏览视频App就会自动计时累计红包,小编也快乐地参与到其中,由于浏览时间过长眼睛常常感觉到疲惫,手指也有点酸痛,根据多年的程序员思维, ...

最新文章

  1. android values-v21 style 报错,Android 4.4 以上实现透明导航栏和状态栏 Translucent system bar...
  2. django中聚合aggregate和annotate GROUP BY的使用方法
  3. javaweb项目中的过滤器的使用
  4. 【Flutter】StatefulWidget 组件 ( PageView 组件 )
  5. 使用vim转换文件编码
  6. Boost:projection years投影年的测试程序
  7. 《MATLAB R2012a超级学习手册》一2.5 本章小结
  8. 如何在Lua与C/C++之间实现table数据的交换
  9. lua菜鸟教程_Lua语言学习
  10. mysql如何优化性能优化_如何优化性能?MySQL实现批量插入以优化性能的实例详解...
  11. shell获取/etc/passwd中的用户名和id
  12. MySQL 服务器调优
  13. 全球数十亿条用户记录被泄露,姓名住址全曝光,Oracle或已引发今年最大的数据安全事件...
  14. html ajax 双引号的问题
  15. continue后面的语句还执行吗_循环结构辅助控制语句
  16. 那些不需要你知道的Chrome DevTool - 使用技巧篇
  17. 【30天精通JavaScript ~ 网络篇】JavaScript 网络请求与远程资源
  18. WinRAR 激活的小办法
  19. STM32 PWM占空比和信号周期的控制因素分析
  20. 头条视频不足一分钟有收益吗,头条30秒视频都有收益吗

热门文章

  1. REALTEK ALC5628音频编码器芯片参数说明
  2. Vue 登录手机号、密码格式验证及验证码60s获取
  3. 让牙齿美白的十种食物
  4. 长文 | 盘点 YOLOv4 这些鲜为人知的特性!
  5. PowerShell Install Office 2021 Pro Plus Viso Professional
  6. CF1083A The Fair Nut and the Best Path
  7. c++ acm题目1057 DNA培养问题
  8. 使用Git和Github来管理自己的代码和笔记
  9. 具体数学之二项式系数1
  10. 新媒体监管要与时俱进