Python中OpenCV与PIL.Image格式互转方法
本文介绍在Python中实现OpenCV图像格式与PIL.Image格式相互转换的方法。通过cv2.cvtColor进行色彩空间转换,并结合numpy.asarray或Image.fromarray完成数据格式适配,提供双向转换的完整代码示例。
OpenCV转PIL.Image格式实现
将OpenCV读取的图像转换为PIL.Image格式,首先需要利用cv2.imread加载图像文件,得到BGR格式的NumPy数组。由于PIL默认处理RGB格式,需使用cv2.cvtColor将颜色空间从BGR转换为RGB。随后,通过Image.fromarray将转换后的数组封装为PIL.Image对象,即可调用其show()方法显示图像。
import cv2
from PIL import Image
import numpy
img = cv2.imread("plane.jpg")
cv2.imshow("OpenCV",img)
image = Image.fromarray(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))
image.show()
cv2.waitKey()
PIL.Image转OpenCV格式实现
将PIL.Image格式转换为OpenCV格式时,首先使用Image.open打开图像文件并显示。接着,利用numpy.asarray将PIL.Image对象转换为NumPy数组。由于OpenCV默认使用BGR格式,需通过cv2.cvtColor将颜色空间从RGB转换回BGR,最后使用cv2.imshow显示图像并等待键盘输入。
import cv2
from PIL import Image
import numpy
image = Image.open("plane.jpg")
image.show()
img = cv2.cvtColor(numpy.asarray(image),cv2.COLOR_RGB2BGR)
cv2.imshow("OpenCV",img)
cv2.waitKey()
上述内容展示了Python中OpenCV与PIL.Image格式互转的核心步骤与代码实现,供开发者参考使用。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













