相关疑难解决方法(0)

skimage调整大小给出奇怪的输出

我正在调整图像大小,skimage.transform.resize但我得到一个非常奇怪的输出,我无法弄清楚为什么.有人可以帮忙吗?

这是我的代码:

import matplotlib.pyplot as plt
import skimage.transform
plt.imshow(y)
h,w,c = y.shape
x = skimage.transform.resize(y, (256, (w*256)/h), preserve_range=True)
plt.imshow(x)
Run Code Online (Sandbox Code Playgroud)

这是我的输入图像y(240,320,3):

在此输入图像描述

这是我的输出图像x(256,341,3):

在此输入图像描述

编辑: 好吧,如果我改变它似乎工作正常preserve_range=False.但为什么它不允许我保持目前的范围?

编辑: 我正在使用OpenCV从视频中随机抽样帧.这是从我传递给它的视频路径返回帧的函数.

def read_random_frames(vid_file):

   vid = cv2.VideoCapture(vid_file)
   # get the number of frames    
   num_frames = vid.get(cv2.CAP_PROP_FRAME_COUNT)
   # randomly select frame
   p_frame = random.randint(0, (num_frames-1))
   # get frame
   vid.set(cv2.CAP_PROP_POS_FRAMES, p_frame)
   ret, frame = vid.read()
   # convert from BGR to RGB
   frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)

   return frame
Run Code Online (Sandbox Code Playgroud)

我有一个视频路径列表,我使用一个map函数来检索帧然后我将输出列表转换为numpy数组:

 batch_frames = map(lambda vid: read_random_frames(vid), …
Run Code Online (Sandbox Code Playgroud)

python matplotlib scikit-image

5
推荐指数
1
解决办法
6856
查看次数

标签 统计

matplotlib ×1

python ×1

scikit-image ×1