当前位置: 代码迷 >> 综合 >> OpenCV在裁剪矩阵的时候报错TypeError: slice indices must be integers or None or have an __index__ method,解决方案
  详细解决方案

OpenCV在裁剪矩阵的时候报错TypeError: slice indices must be integers or None or have an __index__ method,解决方案

热度:65   发布时间:2023-12-14 19:38:43.0

本人OpenCV入门新手一个,在处理图像的时候,需要裁剪目标图像的区域,可是一直报错如下

TypeError: slice indices must be integers or None or have an __index__ method

源代码片段
origin_size=316
target_size=224
left=(origin_size-target_size)/2  
bottom=(origin_size-target_size)/2
img_cut=img[left:left+target_size,bottom:bottom+target_size]
经过多方查阅,查出问题所在
在使用Python进行矩阵操作时,当内部含有除法时,会产生错误:
TypeError: slice indices must be integers or None or have an __index__ method



由于除法/运算后数据是浮点型,所以出现了上面的错误,将/更改为//,代码就可以运行

origin_size=316
target_size=224
left=(origin_size-target_size)//2  
bottom=(origin_size-target_size)//2
img_cut=img[left:left+target_size,bottom:bottom+target_size]



  相关解决方案