我通过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]
裁剪其中的一块,其中top
、bottom
、left
和right
都是整数。
然而,crown最终成为了一个空的ndarray
。
为什么会这样?
您试图在提供top=337和bottom=271的同时拆分数组。Numpy的工作方式正好相反。试着这样拆分它:img[bottom:top, left:right]
,或者只是反转top
和bottom
的值,这样就有了img[a:b, c:d]
和a < b
和c < d
。