庄河市城乡规划建设局网站,看2d影片最好的地方,h5 网站建设,优化营商环境 提升服务效能近日#xff0c;在进行深度学习进行推理的时候#xff0c;发现不管怎么样都得不出正确的结果#xff0c;再仔细和正确的代码进行对比了后发现原来是Python中不同的库读取的图片数组是有差异的。
image np.array(Image.open(image_file).convert(RGB))
image cv2.imread(…近日在进行深度学习进行推理的时候发现不管怎么样都得不出正确的结果再仔细和正确的代码进行对比了后发现原来是Python中不同的库读取的图片数组是有差异的。
image np.array(Image.open(image_file).convert(RGB))
image cv2.imread(image_file)
上面第一行代码就是导致错误出现的原因我把代码改成第二行代码模型就能够正确的推理了。(巨坑)以后谨记在使用Python读取图片的时候最好使用OpenCV来读取。
下面给出两种方式读取图片具体的差异内容来自Opencv和PIL.Image读取图片的区别_陆杰呀的博客-CSDN博客。
imshow
1、Opopencv : cv2.imshow()采用BGR模式通过cv2.imread()读取; 2、matplotlib.pyplot : plt.imshow() 采用RGB模式, 通过plt.imread()读取; 3、PIL.Image : img.show() 采用RGB模式 通过Image.open()读取img对图片对象 备注通过cv2.VideoCapture方法来读取video的frame得到的frame的通道顺序是BGR的
下面一组图依次是img、plt.imshow(cv_img)、Img_img.show()、plt.imshow(plt_img) cv2BGR
# img为BGR通道
img cv2.imread(img_path, mode) # mode [1, 0, -1]依次表示彩色、灰度、彩色alpha 默认为1;
cv2.imshow(test, img)
cv2.waitKey(0) # 保持图形界面直到你在终端输入任意字符
cv2.destroyAllWindows()
PIL.Image(RGB)
img Image.open(img_path)
img.show()
PIL.Image转Opencv
cv2_img cv2.cvtColor(numpy.asarray(Img_img),cv2.COLOR_RGB2BGR)
Opencv转PIL.Image
pil_img Image.fromarray(cv2.cvtColor(cv_img,cv2.COLOR_BGR2RGB))