Python: opencv (cv2) 图像切片不起作用?

Python: opencv (cv2) image slicing not working?

我通过 img = cv2.imread("myimg.jpg", 0) 加载了一张灰度图像。

加载后检查 img 的值,它是一个 ndarray,看起来像这样:

[[53,53,58,...,62,66,70],
 [52,52,57,...,68,68,90],
 ...,
 [80,80,80,...,91,92,91],
 [81,82,80,...,90,91,93]]

尝试使用 cropped = img[top:bottom, left:right] 裁剪其中的一部分,其中 topbottomleftright 都是整数。

但是,裁剪后的结果是空的 ndarray

为什么会这样?

您试图在提供 top = 337 和 bottom = 271 的同时拆分数组。Numpy 以相反的方式工作。尝试像这样拆分它:img[bottom:top, left:right] 或者只是反转 topbottom 的值,这样你就有 img[a:b, c:d]a < bc < d .