python表白代码,照片隐藏表白话语

python表白代码,照片隐藏表白话语最近天气好冷,感觉整个人都是冰冰的!程序员如何用python“表白”自己的女神呢?一、具体过程1、代码思路先用cv2中的imread方法读取冰冰的照片,再用PIL的Image方法创建一个相同大小的图像(初始填充白色),最后在图片上每一个块加字。2、python完整代码#-*-coding:utf-8-*-fromPILimportImage,ImageDraw,ImageFontimp

大家好,又见面了,我是你们的朋友全栈君。

前言

在这里插入图片描述
最近天气好冷,感觉整个人都是冰冰的!程序员如何用python表白自己的女神呢?我想用最近学的图像处理知识,在照片上加隐藏字。(手机正常浏览是一张照片,放大才可以看到里面的文字)
大家也可以用这个代码去表白自己的对象呀。
电脑没有python环境的小伙伴,可以去看看我的文章:python安装教程
html表白代码地址:html爱心表白代码大全

一、具体过程

1、代码思路

先用cv2中的imread方法读取冰冰的照片,再用PIL的Image方法创建一个相同大小的图像(初始填充白色),最后在图片上每一个块加字。

2、python完整代码

# -*- coding:utf-8 -*-
from PIL import Image, ImageDraw, ImageFont
import cv2
font_path='./font-family/MiNiJianPangWa-1.ttf'#字体文件,需要更改
def draw(image_path, draw_text):
	img = cv2.imread(image_path)#读取图片文件
	img_temp = Image.new("RGB", [img.shape[1],img.shape[0]], "white")#以指定的模式和大小创建一个新图像(白色填充),img.shape[1]为像素大小
	drawObj = ImageDraw.Draw(img_temp)#创建一个可以在给定图像上绘图的对象。
	n = 8#间隔大小
	m = 8#字体大小
	font = ImageFont.truetype(font_path,size = m)
	for i in range(0, img.shape[0], n):#通过两个for循环,依次定位到每个文字所在的色块
		for j in range(0, img.shape[1], n):
			drawObj.text([j, i],draw_text[int(j / n) % len(draw_text)],fill = (img[i][j][2], img[i][j][1],img[i][j][0]),font = font)
	img_temp.save('img_' + image_path)
draw('bingbing.jpg', "都是冰冰的")#可以自己更改文字哦

3、代码补充

font_path需要自己更改,可以去网上下载字体。我试过几个字体,发现一个效果比较好,下面是百度网盘的链接,大家自行提取。
百度网盘链接:https://pan.baidu.com/s/1e7zwvHgmr-90QH5j0vPGBg
提取码:8owp
m和n的值也可以自己更改,不过我试过很多值,发现两者都为8的效果比较理想。
最后一行的图片地址和文字可以改

二、结果

这是我用的冰冰的照片(选的照片尽量像素大一点):
在这里插入图片描述
这是结果图:(手机预览看不到文字,只能大概看到冰冰的样子。)
在这里插入图片描述
放大后可以清楚看到文字内容:
在这里插入图片描述

补充

最后生成的图片放大后可能会失真,文字模糊。我在网上发现一个网站,可以无损放大图片。上传图片,选择放大倍数,选择最高降噪,两分钟左右就可以生成。
在这里插入图片描述
下面是我通过网站优化过后的图,放大后也十分清晰。

在这里插入图片描述

看完了python的表白代码,可以再看看html表白代码。html表白代码大全
最后把这个网站分享给大家:AI人工智能图片无损放大

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137291.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 多种方法求解八数码问题

    多种方法求解八数码问题

    2021年12月9日
    41
  • mysql 字符串转数字并排序

    mysql 字符串转数字并排序使用二级查询首先将字符串的列转成数字,然后排序select*from (selectCONVERT(k.key,SIGNED)askid,pathfromkpvk)tORDERBYt.kidasc;

    2022年5月30日
    41
  • leetcode最长回文子串_kmp算法题

    leetcode最长回文子串_kmp算法题实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, needle = “bba”输出: -1说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题

    2022年8月9日
    4
  • 线上CPU100%及应用OOM的排查和解决过程

    点击上方☝,轻松关注!及时获取有趣有料的技术文章“最近工作又遇到几次线上告警的问题,排查基本上就是cup100%以及内存OOM问题,再分享一下之前遇到这类问题排查的一些思路和过程,希望对你…

    2022年3月1日
    64
  • activity生命周期有几种状态_activity生命周期七种方法

    activity生命周期有几种状态_activity生命周期七种方法activity生命周期(这篇足够了)摘要做安卓开发已经4年多了,所接触的知识点也比较零散,在这里记录一下android方面的知识点,方便自己以后复习,有什么不足的,以及错误的欢迎拍砖。activityactivity从开始到结束的四个状态。activity的生命周期。activity的进程优先级。activity的四个状态关于activity的…

    2022年8月16日
    3
  • python操作ES数据库「建议收藏」

    python操作ES数据库「建议收藏」文章目录1、ES数据库和关系型数据库对比2、连接ES数据库3、插入数据4、查询数据1、ES数据库和关系型数据库对比一个ES集群可以包含多个索引(数据库),每个索引又包含了很多类型(表),类型中包含了很多文档(行),每个文档使用JSON格式存储数据,包含了很多字段(列)关系型数据库数据库表行列ES索引类型文档字段2、连接ES数据库fromelasticsearchimportElasticsearches=Elasticsearch([{“ho

    2022年6月1日
    238

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号