资源简介
Python和OpenCv的项目实践代码,供小伙伴们下载参考。
代码片段和文件信息
# coding:utf-8
import os
import PIL.Image as PImage
from PIL import ImageFont ImageDraw
import cv2
import numpy as np
try:
from Tkinter import *
from ttk import *
from tkFileDialog import *
from tkMessageBox import *
except ImportError:
from tkinter import *
from tkinter.ttk import *
from tkinter.filedialog import *
from tkinter.messagebox import *
if getattr(sys ‘frozen‘ None):
base_dir = os.path.join(sys._MEIPASS ‘usedres‘)
else:
base_dir = os.path.join(os.path.dirname(__file__) ‘usedres‘)
def changeBackground(img img_back zoom_size center):
# 缩放
img = cv2.resize(img zoom_size)
rows cols channels = img.shape
# 转换hsv
hsv = cv2.cvtColor(img cv2.COLOR_BGR2HSV)
# 获取mask
lower_blue = np.array([78 43 46])
upper_blue = np.array([110 255 255])
mask = cv2.inRange(hsv lower_blue upper_blue)
# cv2.imshow(‘Mask‘ mask)
# 腐蚀膨胀
erode = cv2.erode(mask None iterations=1)
dilate = cv2.dilate(erode None iterations=1)
# 粘贴
for i in range(rows):
for j in range(cols):
if dilate[i j] == 0: # 0代表黑色的点
img_back[center[0] + i center[1] + j] = img[i j] # 此处替换颜色,为BGR通道
return img_back
def paste(avatar bg zoom_size center):
avatar = cv2.resize(avatar zoom_size)
rows cols channels = avatar.shape
for i in range(rows):
for j in range(cols):
bg[center[0] + i center[1] + j] = avatar[i j]
return bg
def generator():
global ename esex enation eyear emon eday eaddr eidn eorg elife ebgvar
name = ename.get()
sex = esex.get()
nation = enation.get()
year = eyear.get()
mon = emon.get()
day = eday.get()
org = eorg.get()
life = elife.get()
addr = eaddr.get()
idn = eidn.get()
fname = askopenfilename(parent=root initialdir=os.getcwd() title=u‘选择头像‘)
# print fname
im = PImage.open(os.path.join(base_dir ‘empty.png‘))
avatar = PImage.open(fname) # 500x670
name_font = ImageFont.truetype(os.path.join(base_dir ‘hei.ttf‘) 72)
other_font = ImageFont.truetype(os.path.join(base_dir ‘hei.ttf‘) 60)
bdate_font = ImageFont.truetype(os.path.join(base_dir ‘fzhei.ttf‘) 60)
id_font = ImageFont.truetype(os.path.join(base_dir ‘ocrb10bt.ttf‘) 72)
draw = ImageDraw.Draw(im)
draw.text((630 690) name fill=(0 0 0) font=name_font)
draw.text((630 840) sex fill=(0 0 0) font=other_font)
draw.text((1030 840) nation fill=(0 0 0) font=other_font)
draw.text((630 980) year fill=(0 0 0) font=bdate_font)
draw.text((950 980) mon fill=(0 0 0) font=bdate_font)
draw.text((1150 980) day fill=(0 0 0) font=bdate_font)
start = 0
loc = 1120
while start + 11 < len(addr):
draw.text((630 loc) addr[start:start + 11] fill=(0 0 0) font=other_font)
start += 11
loc += 100
draw.text((630 loc) addr[start:] fill=(0 0
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-03-18 17:23 项目代码\
目录 0 2019-03-18 17:23 项目代码\.idea\
文件 192 2018-05-15 16:23 项目代码\.idea\encodings.xm
文件 180 2018-05-15 16:23 项目代码\.idea\vcs.xm
文件 15317 2018-12-19 23:18 项目代码\1.jpg
文件 1782592 2018-12-19 23:21 项目代码\bw.png
文件 2494658 2018-12-19 23:36 项目代码\color.png
文件 6310 2018-05-15 16:23 项目代码\idcardgenerator.py
文件 2117 2018-05-15 16:23 项目代码\README.md
文件 46 2018-05-15 16:23 项目代码\requirements.txt
目录 0 2019-03-18 17:23 项目代码\resource\
文件 292460 2018-05-15 16:23 项目代码\resource\avatar.png
文件 9761882 2018-05-15 16:23 项目代码\resource\bg.png
文件 2741364 2018-05-15 16:23 项目代码\resource\boldhei.ttf
文件 1817063 2018-05-15 16:23 项目代码\resource\bw.png
文件 6439504 2018-05-15 16:23 项目代码\resource\color.png
文件 9561499 2018-05-15 16:23 项目代码\resource\empty.png
文件 9401819 2018-05-15 16:23 项目代码\resource\example.png
文件 2990476 2018-05-15 16:23 项目代码\resource\fzhei.ttf
文件 10044356 2018-05-15 16:23 项目代码\resource\hei.ttf
文件 16039552 2018-05-15 16:23 项目代码\resource\hwxhei.ttf
文件 118837 2018-05-15 16:23 项目代码\resource\ico.icns
文件 67646 2018-05-15 16:23 项目代码\resource\ico.ico
文件 20632 2018-05-15 16:23 项目代码\resource\ocrb10bt.ttf
文件 109154 2018-05-15 16:23 项目代码\resource\psd5263.JPG
文件 8370759 2018-05-15 16:23 项目代码\resource\psd5263.psd
文件 83329 2018-05-15 16:23 项目代码\resource\visa.jpg
文件 27597195 2018-05-15 16:23 项目代码\resource\身份证.psd
目录 0 2019-03-18 17:23 项目代码\usedres\
文件 9561499 2018-05-15 16:23 项目代码\usedres\empty.png
文件 2990476 2018-05-15 16:23 项目代码\usedres\fzhei.ttf
............此处省略4个文件信息
相关资源
- 093 2018北风网人工智能视频(完结)转
- 疯狂Python讲义_李刚_2019
- Python实现高斯投影正反算
- 100行python代码 帮你实现同花顺A股下单
- 用python实现sm2国密算法
- python 识别物体跟踪
- Python黑客攻防入门
- Python黑帽子(黑客与渗透测试编程之
- 通过python使用opencv计算图像的中心
- python的色情图片识别
- ENU与WGS84相互转换,基于python与matla
- Python,通过Googlemap API获取地点信息
- 基于Python完成张军版计算智能相关算
- 哈工大威海 算法设计与分析 朱东杰老
- Morphological Snakes——改进版Geodestic a
- python100道面试题及解答全部答案 pyc
- 基于10000网页python搭建搜索引擎课程设
- 面向对象的银行管理系统课程设计完
- 用Pythonopencv提取图像中的红色区域
- python坦克大战图片源码.zip
- 法律判决文书python爬虫、以及数据处
- 利用python抓取京东手机销售数据
- Effective Python.pdf
- anaconda下安装tensorflow(注:不同版本
- 一些python自动化代码
- selenium python第三版基础入门教程
- Python Testing with pytest
- 棋盘覆盖图形界面python自带tkinter库实
- #python3.3关于Tk中的Treeview使用方法
- python绝技:运用python成为顶级黑客.
评论
共有 条评论