我是 Python 的绝对初学者,我正在编写一个使用笔记本电脑网络摄像头的程序。
我想根据裁剪因子裁剪输出,它看起来很简单:
w = 1280
h = 720
crop_factor = 0.5
x_crop_start = int((w-w*crop_factor)/2)
x_crop_end = int(w-x_crop_start)
y_crop_start = int((h-h*crop_factor)/2)
y_crop_end = int(h-y_crop_start)
cropped_image = shifted_img[y_crop_start:y_crop_end, x_crop_start:x_crop_end]
现在问题是我的代码不起作用,我似乎无法理解控制台上显示的错误:
文件“/Users/iacopo/Desktop/pyPong/faceStabilizer.py”,第 74 行,在 cv2.imshow("cropped",cropped_image) cv2.error: OpenCV(4.5.3) /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn /T/pip-req-build-8g_88acj/opencv/modules/highgui/src/window.cpp:1006:错误:(-215:断言失败)size.width>0 && size.height>0 in function'imshow'
如果我用整数手动替换变量名,一切正常。此外,如果我将 y_crop_start 和 x_crop_start 作为变量名,但在分号后手动输入整数,一切正常:
cropped_image = shifted_img[y_crop_start:500, x_crop_start:720]
我确信有一个简单的解决方法,我觉得被困在这里很愚蠢。