为什么我在这段代码中有这个CV::Resize Error



我已经在训练、测试和验证集中分割了我的图像数据。现在,我想检查其中一个文件夹中的图像。作为输出,我期望orig_train和forg_val随机生成特定高度和宽度的图像。相反,我得到了这个错误。


def visualize_sample_signature():
'''Function to randomly select a signature from train set and
print two genuine copies and one forged copy'''
img_h, img_w = 200, 500
fig, (ax1,ax2,ax3) = plt.subplots(1, 3, figsize = (10, 10))
k = np.random.randint(len(orig_train))
orig_img_names = random.sample(orig_train[k], 2)
forg_img_name = random.sample(forg_val[k], 1)
orig_img1 = cv2.imread(orig_img_names[0], 0)
orig_img2 = cv2.imread(orig_img_names[1], 0)
forg_img = cv2.imread(forg_img_name[0], 0)
orig_img1 = cv2.resize(orig_img1, (img_w, img_h))
orig_img2 = cv2.resize(orig_img2, (img_w, img_h))
forg_img = cv2.resize(forg_img, (img_w, img_h))
visualize_sample_signature()
error                                     Traceback (most recent call last)
<ipython-input-137-8ca6484a3a89> in <module>
----> 1 visualize_sample_signature()
<ipython-input-136-1f5de68e5af9> in visualize_sample_signature()
9     orig_img2 = cv2.imread(orig_img_names[1], 0)
10     forg_img = cv2.imread(forg_img_name[0], 0)
---> 11     orig_img1 = cv2.resize(orig_img1, (img_w, img_h))
12     orig_img2 = cv2.resize(orig_img2, (img_w, img_h))
13     forg_img = cv2.resize(forg_img, (img_w, img_h))
error: OpenCV(3.4.2) C:projectsopencv-pythonopencvmodulesimgprocsrcresize.cpp:4044: error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize'

您需要在使用它们的函数中将img_w和img_h声明为全局变量。

最新更新