python图像处理一

coding

将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果

python">#coding=utf-8

from PIL import Image,ImageDraw,ImageFont,ImageFilter

import cv2

import matplotlib.pyplot as plt

import numpy as np

plt.rcParams['font.sans-serif']=['SimHei']# 用来正常显示中文标签

plt.rcParams['axes.unicode_minus']=False# 用来正常显示负号

#字体的位置,不同版本的系统会有不同

font_path ="30213021386.ttf"

pic_path ="001.png"#原始图像

pic_savepath="001_RES.png"# 处理后图像

defgene_message_num(pic_path,message_num,fontcolor):

'''

@pic_path:原始头像图片的位置

@message_num:未读消息的数目

@fontcolor:显示消息数目的字体颜色

'''

image = Image.open(pic_path)

size = image.size

width,height = size #原始图片的宽和高

font = ImageFont.truetype(font_path,30)#字体

draw = ImageDraw.Draw(image)#创建画笔

text =str(message_num)

font_width, font_height = font.getsize(text)

draw.text((width - font_width,0),text,\

font=font,fill=fontcolor)#填充数字,位置在右上角

image.save(pic_savepath)#保存图片

# 测试

message_num =4

fontcolor =(255,0,0)#红色

gene_message_num(pic_path,message_num,fontcolor)

img1=cv2.imread('001.png')

img2=cv2.imread('001_RES.png')

# cv2读取的图像数据为BGR [:,:,::-1] :表示第三个维度逆序

''' 数据示例

[[[216 220 215]

[215 219 214]

[214 218 213]

...

[215 220 219]

[216 221 220]

[220 225 224]]

[[213 217 212]

[215 219 214]

[216 220 215]

...

[213 218 217]

[212 217 216]

[212 217 216]]

[[211 214 212]

[215 218 216]

[219 222 220]]]

'''

plt.subplot(221)

plt.imshow(img1[:,:,::-1])#

plt.title('cv2读取原图')

plt.subplot(222)

plt.imshow(img2[:,:,::-1])

plt.title('cv2读取处理后图')

img3 = Image.open("001.png")

img4=Image.open("001_RES.png")

plt.subplot(223)

plt.imshow(np.array(img3))

plt.title('PIL读取原图')

plt.subplot(224)

plt.imshow(np.array(img4))

plt.title('PIL读取处理后图')

plt.savefig('res.png')

PIL:Image 和 cv2简单比较

  • 打开
img1 = Image.open("1.jpg")  

img2 =cv2.imread("1.jpg")

  • 长宽
w, h = img1.size

w, h = img2.shape

  • Resize
ReSImg1 = img1.resize((224,224))

ReSImg2 =cv2.resize(img2,(h,w))

  • 保存
img1.save(path)

cv2.imwrite(path,img)

本文分享 CSDN - wbaolong。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

以上是 python图像处理一 的全部内容, 来源链接: utcz.com/z/509202.html

回到顶部