Python+;OpenCV-读取图像文件名
我有以下代码片段:Python+;OpenCV-读取图像文件名,python,opencv,imread,Python,Opencv,Imread,我有以下代码片段: img = cv2.imread('1.jpg') 当我打印img时,我得到如下结果。如何仅返回1.jpg部分 [[[140 149 139] [153 162 152] [155 165 153] ..., [ 44 20 8] [ 46 22 10] [ 46 22 10]] [[151 160 150] [156 165 155] [152 162 150] ..., [ 47 23 11] [ 4
img = cv2.imread('1.jpg')
当我打印img时,我得到如下结果。如何仅返回1.jpg
部分
[[[140 149 139]
[153 162 152]
[155 165 153]
...,
[ 44 20 8]
[ 46 22 10]
[ 46 22 10]]
[[151 160 150]
[156 165 155]
[152 162 150]
...,
[ 47 23 11]
[ 48 24 12]
[ 45 21 9]]
[[155 164 154]
[152 161 151]
[146 156 144]
...,
[ 47 23 11]
[ 49 25 13]
[ 49 25 13]]
...,
[[ 28 16 6]
[ 33 21 11]
[ 32 20 10]
...,
[144 131 105]
[150 137 111]
[151 138 112]]
[[ 33 18 9]
[ 34 19 10]
[ 34 20 8]
...,
[144 135 108]
[143 134 107]
[148 139 112]]
[[ 31 16 7]
[ 31 16 7]
[ 35 21 9]
...,
[145 141 112]
[137 133 105]
[143 139 111]]]
谢谢。我相信
cv2.imread
返回一个numpy数组。因此,除非使用自定义类,否则无法存储名称
class MyImage:
def __init__(self, img_name):
self.img = cv2.imread(img_name)
self.__name = img_name
def __str__(self):
return self.__name
然后,您可以将其用作:
>>> x = MyImage('1.jpg')
>>> str(x)
1.jpg
>>> x.img # the numpy array
我相信
cv2.imread
返回一个numpy数组。因此,除非使用自定义类,否则无法存储名称
class MyImage:
def __init__(self, img_name):
self.img = cv2.imread(img_name)
self.__name = img_name
def __str__(self):
return self.__name
然后,您可以将其用作:
>>> x = MyImage('1.jpg')
>>> str(x)
1.jpg
>>> x.img # the numpy array
打印类型(img)
?它说什么?加载图像时,它返回一个数组,其中包含(看起来是)像素的RGB值。我怀疑任何报税表是否包含有关文件本身的信息。但是,无论是显式的还是通过变量传递的,您都知道文件的名称。为什么需要返回它?打印类型(img)
?它说什么?加载图像时,它返回一个数组,其中包含(看起来是)像素的RGB值。我怀疑任何报税表是否包含有关文件本身的信息。但是,无论是显式的还是通过变量传递的,您都知道文件的名称。为什么需要返回?返回图像的整个路径,有没有办法只获取文件名?@Ali123什么意思?您是否在询问如何从文件路径提取文件名?还是我误会了?谢谢你的检查,我找到了一个。使用os.path.splitext(img)[0]提取文件名的方法。我不确定这是否是最好的选择,但目前它仍然有效。这将返回图像的整个路径,有没有办法只获取文件名?@Ali123你是什么意思?您是否在询问如何从文件路径提取文件名?还是我误会了?谢谢你的检查,我找到了一个。使用os.path.splitext(img)[0]提取文件名的方法。我不确定这是否是最好的选择,但它现在起作用了