相关疑难解决方法(0)

如何将RGB图像转换为numpy数组?

我有一个RGB图像.我想将它转换为numpy数组.我做了以下

im = cv.LoadImage("abc.tiff")
a = numpy.asarray(im)
Run Code Online (Sandbox Code Playgroud)

它创建一个没有形状的数组.我假设它是一个iplimage对象.

python opencv numpy image

85
推荐指数
9
解决办法
25万
查看次数

为什么 PIL 的 Image.fromarray() 会扭曲我的图像颜色?

我正在使用以下代码为 mp4 视频生成缩略图:

import cv2 as cv
from PIL import Image 

vidcap = cv.VideoCapture(videoPath)
vidcap.set(cv.CAP_PROP_POS_MSEC, millisecond)

#Turn video frame into numpy ndarray
success, image = vidcap.read()
cv.imwrite('fromImage.jpg', image)   #line to be replaced
Run Code Online (Sandbox Code Playgroud)

由高预算、专业拍摄的视频生成的缩略图如下所示: 在此处输入图片说明 不幸的是,在我的应用程序上下文中,我无法将图像帧直接写入文件。相反,我必须将 cv 生成的图像数组转换为 PIL 图像,然后从那里开始。它看起来像这样:

# Turn numpy ndarray int PIL image
img = Image.fromarray(image)
img.save('fromArray.jpg')    #Saving it for stackoverflow
Run Code Online (Sandbox Code Playgroud)

但是从同一个 mp4 视频输出的缩略图完全失真,因为它似乎已经交换了红色和蓝色,看起来像这样:在此处输入图片说明 谁或什么是这种图像失真的罪魁祸首?

python opencv image-processing python-imaging-library cv2

2
推荐指数
1
解决办法
1558
查看次数