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))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了