Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 索引器错误:只有整数、片(`:`)、省略号(`…`)、numpy.newaxis(`None`)和整数或布尔数组是有效的索引错误_Python_Python 3.x_List_Opencv_For Loop - Fatal编程技术网

Python 索引器错误:只有整数、片(`:`)、省略号(`…`)、numpy.newaxis(`None`)和整数或布尔数组是有效的索引错误

Python 索引器错误:只有整数、片(`:`)、省略号(`…`)、numpy.newaxis(`None`)和整数或布尔数组是有效的索引错误,python,python-3.x,list,opencv,for-loop,Python,Python 3.x,List,Opencv,For Loop,您好,我有一个坐标列表,可以选择图像中的某个感兴趣区域。但是当我将这些坐标传递给图像时,我得到了标题中的错误 代码如下: coord_list =['[55:130,190:707]', '[178:280,30:387]', '[181:273,424:739]', '[181:273,424:739]'] image1 = cv2.imread(r'C:\\Users\\User\\Desktop\\images\\Sample.jpg') image1 = cv2.resize(ima

您好,我有一个坐标列表,可以选择图像中的某个感兴趣区域。但是当我将这些坐标传递给图像时,我得到了标题中的错误

代码如下:


coord_list =['[55:130,190:707]', '[178:280,30:387]', '[181:273,424:739]', '[181:273,424:739]']

image1 = cv2.imread(r'C:\\Users\\User\\Desktop\\images\\Sample.jpg')
image1 = cv2.resize(image,(1000,1000))
image_roi = image1[coord_list[0]]
cv2.imshow('img',image_roi)
cv2.waitKey(0)




它必须从列表中迭代,因为我必须对文件夹中的许多图像使用相同的坐标

您不能直接使用字符串索引切片数组。您必须首先对其进行评估:

image_roi = eval('image1'+coord_list[0])
编辑:

作为对您的评论的回应,您可以使用
numpy
来实现此目的。 这样,您就可以直接使用它,而无需使用
eval()


但最好不要将坐标列表保存为strings为什么@joostblack@RahulRamesh我回复为编辑,因为这样我可以使用更多的字符。我使用我的图像进行测试,所以您需要将其更改回。
import cv2
import numpy as np

coord_list = [np.s_[55:130,190:707],np.s_[178:280,30:387],np.s_[181:273,424:739],np.s_[182:273,424:738] ]
image1 = cv2.imread('dog.jpg')
image1 = cv2.resize(image1,(1000,1000))

image_roi = image1[coord_list[0]]
cv2.imshow('img',image_roi)
cv2.waitKey(0)