用 Python 寫了一個表白神器,照片隱藏表白話語!

前言
最近天氣好冷,感覺整個人都是冰冰的!程序員如何用python表白自己的女神呢?我想用最近學(xué)的圖像處理知識,在照片上加隱藏字(手機(jī)正常瀏覽是一張照片,放大才可以看到里面的文字)
大家也可以用這個代碼去表白自己的對象呀。
一、具體過程
1、代碼思路
先用cv2中的imread方法讀取冰冰的照片,再用PIL的Image方法創(chuàng)建一個相同大小的圖像(初始填充白色),最后在圖片上每一個塊加字。
2、python完整代碼
# -*- coding:utf-8 -*-from PIL import Image, ImageDraw, ImageFontimport cv2font_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")#以指定的模式和大小創(chuàng)建一個新圖像(白色填充),img.shape[1]為像素大小drawObj = ImageDraw.Draw(img_temp)#創(chuàng)建一個可以在給定圖像上繪圖的對象。n = 8#間隔大小m = 8#字體大小font = ImageFont.truetype(font_path,size = m)for i in range(0, img.shape[0], n):#通過兩個for循環(huán),依次定位到每個文字所在的色塊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、代碼補(bǔ)充
font_path需要自己更改,可以去網(wǎng)上下載字體。我試過幾個字體,發(fā)現(xiàn)一個效果比較好。
m和n的值也可以自己更改,不過我試過很多值,發(fā)現(xiàn)兩者都為8的效果比較理想。
二、結(jié)果
這是我用的冰冰的照片(選的照片盡量像素大一點(diǎn)):
這是結(jié)果圖(手機(jī)預(yù)覽看不到文字)
放大后可以清楚看到文字內(nèi)容
補(bǔ)充
最后生成的圖片放大后可能會失真,文字模糊。我在網(wǎng)上發(fā)現(xiàn)一個網(wǎng)站,可以無損放大圖片。上傳圖片,選擇放大倍數(shù),選擇最高降噪,兩分鐘左右就可以生成。
原文鏈接:blog.csdn.net/qq_44809707
文章轉(zhuǎn)載:Python編程學(xué)習(xí)圈
(版權(quán)歸原作者所有,侵刪)
![]()

點(diǎn)擊下方“閱讀原文”查看更多
評論
圖片
表情
