赞
踩
最近天气好冷,感觉整个人都是冰冰的!程序员如何用python表白自己的女神呢?我想用最近学的图像处理知识,在照片上加隐藏字(手机正常浏览是一张照片,放大才可以看到里面的文字)
大家也可以用这个代码去表白自己的对象呀。
先用cv2中的imread方法读取冰冰的照片,再用PIL的Image方法创建一个相同大小的图像(初始填充白色),最后在图片上每一个块加字。
# -*- 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', "都是冰冰的")#可以自己更改哦
font_path需要自己更改,可以去网上下载字体。我试过几个字体,发现一个效果比较好。
m和n的值也可以自己更改,不过我试过很多值,发现两者都为8的效果比较理想。
这是我用的冰冰的照片(选的照片尽量像素大一点):
这是结果图(手机预览看不到文字)
放大后可以清楚看到文字内容
对零基础想要入门学习Python,想要拿到高薪Offer的朋友们,下面提供全套的Python学习路线以及学习教程,免费领取。
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末!!!!
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
检查学习结果。
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
免费获取
】Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。