pytorch框架–数据方面–Image与CV2读取图片格式转换

CV2读取图片的通道顺序为BGR
Image读取图片的通道顺序为RGB

方法一

用于实际,建议使用

cv2转Image
先使用cv2的调换通道方法进行转换
再使用Image的方法进行转换

import cv2
from PIL import Image
#img为之前使用cv2读取的图片数据
img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))

Image转cv2
先使用np.array对格式进行改变
再使用cv2的调换通道方法进行转换

import cv2
from PIL import Image
#img1为之前使用Image读取的图片数据
img1 = cv2.cvtColor(np.array(img1), cv2.COLOR_RGB2BGR)

方法二

用于理解,不建议使用

from PIL import Image
import numpy as np
import cv2


def cv_show(neme, img):
    cv2.namedWindow(neme, cv2.WINDOW_NORMAL)
    cv2.imshow(neme, img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()


# Image转cv
frame = Image.open("1.jpg")
gbr = np.uint8(frame)[..., ::-1]
cv_show("a", gbr)

# cv转Image
frame = cv2.imread("1.jpg")
rgb = frame[..., ::-1]
# 调换对比
Image.fromarray(rgb).show()

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2022年5月12日
下一篇 2022年5月12日

相关推荐