Live2D

Python - PIL&cv2相互转换

简介

PIL和cv2是Python中两个常用的图像处理库,PIL一般是anaconda自带的,Image.open打开来的是图像格式,cv2是opencv的Python版本,cv2.imread读取出来的是像素格式。

PIL读取、保存图片

复制代码
#! /usr/bin/env python3
# -*- coding:utf-8 -*-

# Author   : MaYi
# Blog     : http://www.cnblogs.com/mayi0312/
# Date     : 2020-09-29
# Name     : test.py
# Software : PyCharm
# Note     : 用于PIL&cv2相互转换
from PIL import Image


img = Image.open(img_name)

img.save(new_img_name, dpi=DPI)
复制代码

CV2读取、保存图片

复制代码
#! /usr/bin/env python3
# -*- coding:utf-8 -*-

# Author   : MaYi
# Blog     : http://www.cnblogs.com/mayi0312/
# Date     : 2020-09-29
# Name     : test.py
# Software : PyCharm
# Note     : 用于PIL&cv2相互转换
import cv2
import numpy as np

img = cv2.imread(img_name)  # 文件名不支持中文字符
# img = cv2.imdecode(np.fromfile(img_name, dtype=np.uint8), cv2.IMREAD_COLOR)

cv2.imwrite(new_img_name, img)  # 文件名不支持中文字符
# cv2.imencode('.tif', img)[1].tofile(new_img_name)
复制代码

PIL转换为cv2

复制代码
#! /usr/bin/env python3
# -*- coding:utf-8 -*-

# Author   : MaYi
# Blog     : http://www.cnblogs.com/mayi0312/
# Date     : 2020-09-29
# Name     : test.py
# Software : PyCharm
# Note     : 用于PIL&cv2相互转换
import cv2
import numpy as np
from PIL import Image

image = Image.open(img_name)
img = cv2.cvtColor(np.asarray(image), cv2.COLOR_RGB2BGR)
复制代码

cv2转换为PIL

复制代码
#! /usr/bin/env python3
# -*- coding:utf-8 -*-

# Author   : MaYi
# Blog     : http://www.cnblogs.com/mayi0312/
# Date     : 2020-09-29
# Name     : test.py
# Software : PyCharm
# Note     : 用于PIL&cv2相互转换
import cv2
from PIL import Image

image = cv2.imread(img_name)
img = Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
复制代码

 

posted @   骑着螞蟻流浪  阅读(936)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示