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()
文章出处登录后可见!
已经登录?立即刷新