【Python表白代码】“情话都是我抄来的,想说给你听是真的。”情人节快乐~

导语

又是一年情人节,各位脱单了吗?

每年情人节可以说都是品牌们大展身手,情侣们各秀恩爱,单身狗孤苦伶仃的时候(不是)……

而作为程序员and兼职各种文案圈的圈佬,除了被喂一嘴的狗粮,喜欢不仅是敲敲代码的还有去搜

集一些浪漫动人的文案,除了汲取一些爱情的灵感。

在最适当的时候(比如说今天)分享给大家情人节表白的代码以及很多很多积攒的文案啦——👇

爱情是,你吃多少苦,我陪你一起吃。(Love…Shares What Life Dishes Out) ——栗子

正文

一、木子的文案馆❤

你想要的都在这里——

1)这一天,让可爱的撞见可爱的像云撞见云,风撞见风!

2)月亮照回湖心,野鹤奔向闲云,我步入你。                                      ——仓央嘉措

     答案很长,我准备用一生的时间来回答,你准备要听了吗?                  ——林徽因

     我不是在等雨停,我是在等你!

     你下午四点钟来,那么从三点钟起,我就开始感到幸福。                  ——《小王子》

二、木子的程序代码🤭

实现步骤:本文效果就是类似“我的眼里只有你”的效果。使用了Python人脸识别功能这秘密武器

的!dlib库Python可以直接调用dlib库进行面部模式识别,其中也包含了准度较高的眼部识别,如

下图:

通过37、38、40、41来确定左眼球位置,43、44、48、47来确定右眼球位置。将女友照片按眼球

区域缩放,利用PIL模块将图片贴到背景图眼球位置上,最终生成目标图片。

下面来详细的看下代码叭

1)环境安装

本文所用环境:Python3、Pycharm、opencv、numpy、pillow、dlib模块部分自带的模块就不介绍

了,如需安装环境、解答等见文末找我!第三方模块安装:

pip install -i https://pypi.douban.com/simple/ +模块名

2)代码展示

import cv2
import numpy as np
from PIL import Image
import os
import dlib
#############改成你的路径,把照片放到该路径################
os.chdir(r"C:")   #存放照片的文件目录,记得路径用/分隔

#背景图片
back_graph = 'xiaozhan.jpg'       #照片命名最好是英文,否则会报错
bg_img = cv2.imread(back_graph)
#检测背景图片人脸68个点的位置
gray = cv2.cvtColor(bg_img,cv2.COLOR_BGR2GRAY)
detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
faces = detector(gray)

from removebg import RemoveBg
from PIL import Image

#把图片背景设置成眼球的颜色
def Change_img_bg(old_img, bg_color):
    rmbg = RemoveBg("UQ7x2hmLXxv8Hs13f1JTL1Q7", "error.log") # 引号内是你获取的API
    rmbg.remove_background_from_img_file(old_img)            #图片地址
    old_no_bg = old_img + '_no_bg.png' 
    im = Image.open(old_no_bg)
    x, y = im.size   
    # 填充背景
    p = Image.new('RGBA', im.size, bg_color)
    p.paste(im, (0, 0, x, y), im)
    # 保存填充后的图片
    p.save("new_black_pg_img.png")
    
#眼睛内容图片
src_graph = "yanzi_tiqin3.jpg"              #照片命名最好是英文,否则会报错
#需要改变背景颜色(如不需要请注释该段代码)
Change_img_bg(src_graph, 'black')   #要跟据眼球的颜色调整#341c02
src_blacke_bg_graph = 'new_black_pg_img.png'  
src_img = cv2.imread(src_blacke_bg_graph)  
#不需要改变背景颜色
#src_img = cv2.imread(src_graph)

#把图片裁剪成圆形
def img_deal(ori_img):
    img = cv2.imread(ori_img, cv2.IMREAD_UNCHANGED)
    h, w, channel = img.shape
    img_deal = np.zeros((h, w, 4), np.uint8)
    img_deal[:, :, 0:3] = img[:, :, 0:3]
    img_circle = np.zeros((h, w, 1), np.uint8)
    img_circle[:, :, :] = 0
    center = (int(w / 2), int(h / 2))
    radius = int(min(h, w) / 2)
    img_circle = cv2.circle(img_circle,center ,radius , 255, -1)
    img_deal[:, :, 3] = img_circle[:, :, 0]
    cv2.imwrite('eye_circle.png', img_deal)
    
for face in faces:
    face_68point = predictor(gray, face)
    #获取左眼球位置信息
    left_eye_x1 = min(face_68point.part(37).x, face_68point.part(41).x)
    left_eye_x2 = min(face_68point.part(38).x, face_68point.part(40).x)
    left_eye_y1 = min(face_68point.part(37).y, face_68point.part(48).y)
    left_eye_y2 = min(face_68point.part(40).y, face_68point.part(41).y)
    left_eye_midx = int((left_eye_x1+left_eye_x2)/2)
    left_eye_midy = int((left_eye_y1+left_eye_y2)/2)
    #获取右眼球位置信息
    right_eye_x1 = min(face_68point.part(43).x, face_68point.part(47).x)
    right_eye_x2 = min(face_68point.part(44).x, face_68point.part(46).x)
    right_eye_y1 = min(face_68point.part(43).y, face_68point.part(44).y)
    right_eye_y2 = min(face_68point.part(47).y, face_68point.part(46).y)
    right_eye_midx = int((right_eye_x1+right_eye_x2)/2)
    right_eye_midy = int((right_eye_y1+right_eye_y2)/2)
    #左眼球大小
    left_eye_r = abs(int(min(left_eye_x1-left_eye_x2,left_eye_y1-left_eye_y2)/2))
    left_eye_d = left_eye_r*2
    #右眼球大小
    right_eye_r = abs(int(min(right_eye_x1-right_eye_x2,right_eye_y1-right_eye_y2)/2))
    right_eye_d = right_eye_r*2
    #设置眼球中图片直径
    eye_img_d = min(int(left_eye_d/1.2),int(right_eye_d/1.2))
    #把图像贴到左眼   
    left_ori = cv2.resize(src_img, (eye_img_d, eye_img_d), interpolation=cv2.INTER_AREA)
    cv2.imwrite("left_eye.png", left_ori)
    img_deal("left_eye.png")
    left_eye = Image.open("eye_circle.png")
    im = Image.open(back_graph)
    im.paste(left_eye,(left_eye_midx-int(eye_img_d/3), left_eye_midy-int(eye_img_d/2)),left_eye)
    #把图像贴到右眼    
    right_ori = cv2.resize(src_img, (eye_img_d, eye_img_d), interpolation=cv2.INTER_AREA)
    cv2.imwrite("right_eye.png", right_ori)
    img_deal("right_eye.png")
    right_eye = Image.open("eye_circle.png")
    im.paste(right_eye,(right_eye_midx-int(eye_img_d/3),right_eye_midy-int(eye_img_d/2)),right_eye)
    #保存最终图形
    im.save("you_in_my_eye2.png")

3)效果展示

第一组效果👇

​第二组效果👇

​第三组效果👇

好啦!这效果是不是特别棒呀~图片放大就看的清楚啦

总结

“情话都是我抄来的,想说给你听是真的。” 

嘻嘻这是今天最后分享的一句表白文啦,代码也敲完了,小编继续区奋斗啦~需要源码的👇

完整的素材、安装环境、源码等👀看文末即可啦!

🎉往期文章推荐阅读——

项目1.0  卡通化头像

【Opencv实战】如何快速Get专属头像?惊艳—女友要的头像终于找到了~

项目1.1  动漫化人物

【突破次元壁】谁说二次元离我们遥远?Python特效火遍全网,关键技术原来是它。

项目1.2 抠图神器

【爆赞】这款Python小程序自动抠图只需5秒,秒杀PS手动抠图?

🎄文章汇总——

项目1.0 Python—2021 |已有文章汇总 | 持续更新,直接看这篇就够了

(更多内容+源码都在文章汇总哦!!欢迎阅读~)

### 回答1: 情人节表白代码是一种特殊的方式来表达爱意,下面是用Python来编写情人节表白代码的示例: ```python import time def display_heart(): size = 10 for i in range(size, -size, -1): for j in range(0, 4*size+1): distance = abs(j - size) if i*i + distance*distance <= size*size: print("♥", end="") else: print(" ", end="") print() def countdown_timer(seconds): while seconds > 0: print("倒计时:", seconds) time.sleep(1) seconds -= 1 def send_message(message): print(message) def confession(): display_heart() countdown_timer(3) send_message("我爱你,情人节快乐!") confession() ``` 这段代码主要分为几个部分: 1. `display_heart()`函数用来打印一个爱心形状。 2. `countdown_timer(seconds)`函数用来实现一个倒计时。 3. `send_message(message)`函数用来发送表白的信息。 4. `confession()`函数是主要的执行部分,先显示爱心,然后进行3秒的倒计时,最后发送表白信息。 以上是一个简单的情人节表白代码Python示例,可以根据需要进行修改和定制,来实现个性化的表白效果。 ### 回答2: 情人节是一个浪漫的时刻,很多人会选择在这一天向心仪的人表达爱意。如果你是个喜欢编程的人,你可以使用Python来创造一个特别的情人节表白代码。 要开始撰写这个特殊的代码,首先你需要使用Python的GUI库,如Tkinter或PyQt等来创建一个窗口。你可以设置窗口的大小和位置,并给它一个浪漫的背景色。 接下来,你需要在窗口中添加一些控件,如标签和按钮。标签可以用来展示爱意的文字,按钮则可以用来触发表白的操作。 当用户点击按钮时,你可以为按钮绑定一个事件,这样在点击时就会执行相应的动作。在事件处理函数中,你可以让标签显示你对他/她的爱意的文字,例如“我爱你”,“你愿意成为我的情人吗?”等。 为了让这个表白代码更加有趣,你可以添加一些特效。例如,在文本显示的过程中,可以加入一些渐变效果,让文字逐渐显示出来。你也可以添加一个背景音乐,在表白时播放一首浪漫的歌曲,让整个表白过程更加浪漫动。 最后,不要忘记在窗口的关闭事件中添加一些退出的操作,例如关闭音乐、释放资源等。 当代码完成后,你可以运行它,窗口就会弹出来。当你点击按钮时,随着文本逐渐显示和音乐的扩散,你的爱意就会浪漫地呈现在她/他面前。 总之,用Python编写情人节表白代码是一种创造的方式,它可以为你的爱意增添一份特殊的氛围。无论使用何种方式表达爱意,最重要的是真心和真挚。直接而简单的表白可能会更让人感动,所以不要害怕冒险,勇敢地向心仪的人表白吧!
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顾木子吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值