我使用PIL
和cv2
加载了相同的图像,但相同索引的像素信息不同。这是我的代码:
import cv2
from PIL import Image
img = cv2.imread('Fruits1.jpg') # Can be many different formats.
print(img[100, 200])
img = Image.open('Fruits1.jpg')
pixel_img = img.load()
print(pixel_img[100, 200])
输出:
[191 212 209]
(255, 255, 255)
答案 0 :(得分:3)
OpenCV返回一个numpy数组。因此,您的索引是[col_idx,row_idx]或[y,x],而PIL像素访问是[x,y]坐标。
将PIL访问权限翻转为[200,100]以查看相同的像素。
小心,会有另一个混乱:PIL按RGB顺序读取通道,但OpenCV在BGR中读取它们!