如何在不获取“TypeError:字符串索引必须是整数”的情况下对图像进行 numpy 切片

     2023-02-25     93

关键词:

【中文标题】如何在不获取“TypeError:字符串索引必须是整数”的情况下对图像进行 numpy 切片【英文标题】:How to numpy-slicing an image without getting "TypeError: string indices must be integers" 【发布时间】:2018-12-24 10:35:08 【问题描述】:

我收到了错误:

"TypeError: 字符串索引必须是整数"

当我尝试裁剪图像时

我正在尝试编写一个裁剪矩形图像的函数,以制作方形图像并居中。

def squared_and_resized(img,resized_dim):
    image = cv2.imread(img)
    img_height,img_width = image.shape[:2]
    if (img_width > img_height):
            start_row = 0
            end_row = img_height
            start_col = math.floor((img_width - img_height) /2)
            end_col = math.floor((img_width + img_height) /2)
    else:
            start_col = 0
            end_col = img_width
            start_row = math.floor((img_height-img_width)/2)
            end_row = start_row + img_width

    squared_img = img[start_row:end_row , start_col:end_col]

    resized_img = cv2.resize(squared_img,(resized_dim, resized_dim))
    return resized_img

【问题讨论】:

提供完整的错误信息。乍一看,您似乎正在尝试切片字符串而不是图像。重新检查您的变量名并确保您没有两次使用相同的变量名。 在您的代码中:image = cv2.imread(img). 【参考方案1】:

math.floor 返回一个浮点类型变量。你可以使用int(math.floor((img_height-img_width)/2))

【讨论】:

【参考方案2】:

错误在以下行中:squared_img = img[start_row:end_row , start_col:end_col]。经过代码检查,img 似乎是 str 类型,它被传递给此方法,然后用于图像切片。您可能需要使用squared_img = image[start_row:end_row , start_col:end_col]

为了在未来缓解此问题,请使用有意义的名称。在这种情况下,方法参数可以命名为image_path

【讨论】:

TypeError:字符串索引必须是字典中的整数

】TypeError:字符串索引必须是字典中的整数【英文标题】:TypeError:stringindicesmustbeintegersindictionary【发布时间】:2022-01-1622:08:59【问题描述】:为什么这段代码给了我typeError?以及如何使用变量X调用字典?“TypeError:字符串索引... 查看详情

在 Python 中读取 JSON 字符串:接收错误“TypeError:字符串索引必须是整数”

】在Python中读取JSON字符串:接收错误“TypeError:字符串索引必须是整数”【英文标题】:ReadingaJSONstringinPython:Receivingerror"TypeError:stringindicesmustbeintegers"【发布时间】:2017-06-0418:18:52【问题描述】:我正在尝试创建一个使... 查看详情

为啥我看到“TypeError:字符串索引必须是整数”?

】为啥我看到“TypeError:字符串索引必须是整数”?【英文标题】:WhyamIseeing"TypeError:stringindicesmustbeintegers"?为什么我看到“TypeError:字符串索引必须是整数”?【发布时间】:2011-08-2923:29:10【问题描述】:我正在学习Pyth... 查看详情

读取 JSON 字符串 | TypeError:字符串索引必须是整数

】读取JSON字符串|TypeError:字符串索引必须是整数【英文标题】:ReadingaJSONstring|TypeError:stringindicesmustbeintegers【发布时间】:2015-03-0612:18:22【问题描述】:我正在尝试创建一个程序,该程序将通过GUI读取JSON字符串,然后使用它来... 查看详情

弹性搜索 | TypeError:字符串索引必须是整数

】弹性搜索|TypeError:字符串索引必须是整数【英文标题】:ElasticSearch|TypeError:stringindicesmustbeintegers【发布时间】:2022-01-1500:31:34【问题描述】:我正在使用这个Notebook,其中ApplyDocumentClassifier部分更改如下。Jupyter实验室,内核:... 查看详情

Python:TypeError:字符串索引必须是整数[关闭]

】Python:TypeError:字符串索引必须是整数[关闭]【英文标题】:Python:TypeError:stringindicesmustbeintegers[closed]【发布时间】:2020-02-2713:48:28【问题描述】:这是在这里发布了很多时间的类似问题,但我无法理解它。importjsonstr2="""[\'cta\':... 查看详情

TypeError:字符串索引必须是整数 Python 2

】TypeError:字符串索引必须是整数Python2【英文标题】:TypeError:stringindicesmustbeintegersPython2【发布时间】:2019-04-2615:09:04【问题描述】:我正在使用python2.7并在处遇到错误print\'ArticleID:\',paper[\'MedlineCitation\'][\'PMID\']错误是类型错误... 查看详情

TypeError:字符串索引必须是整数(在 lambda 函数中)

】TypeError:字符串索引必须是整数(在lambda函数中)【英文标题】:TypeError:stringindicesmustbeintegers(inlambdafunction)【发布时间】:2021-09-0709:18:39【问题描述】:我的数据集是这样的urlbooleandetailsnumberOfPagesdatexzy.com0\'https://www.eltako.depdf... 查看详情

Azure KeyVault:get_secret() - Python TypeError:字符串索引必须是整数

】AzureKeyVault:get_secret()-PythonTypeError:字符串索引必须是整数【英文标题】:AzureKeyVault:get_secret()-PythonTypeError:stringindicesmustbeintegers【发布时间】:2021-11-1615:03:43【问题描述】:我一直在尝试使用以下python代码从本地VM获取azurekeyva... 查看详情

zeromq:TypeError:字符串索引必须是整数,而不是 str

】zeromq:TypeError:字符串索引必须是整数,而不是str【英文标题】:zeromq:TypeError:stringindicesmustbeintegers,notstr【发布时间】:2014-10-1303:30:54【问题描述】:我想在机器之间建立发布订阅通信。我拥有的两台机器是ryu-primary和ryu-second... 查看详情

pd.merge "TypeError: 字符串索引必须是整数"

】pd.merge"TypeError:字符串索引必须是整数"【英文标题】:pd.merge"TypeError:stringindicesmustbeintegers"【发布时间】:2021-03-2812:15:51【问题描述】:我有3个文件,我的代码基本上是一系列合并,将文件"lookup"和"No... 查看详情

TypeError:字符串索引必须是整数,而不是 Python 字典中的 str

】TypeError:字符串索引必须是整数,而不是Python字典中的str【英文标题】:TypeError:stringindicesmustbeintegers,notstronPythonDictionary【发布时间】:2015-08-0404:56:55【问题描述】:我被困住了,我确信这很简单,但我现在只是在绕圈子。下... 查看详情

如何修复此类型错误?

】如何修复此类型错误?【英文标题】:HowcanIfixthisTypeError?【发布时间】:2018-07-2702:08:47【问题描述】:当我尝试执行这个函数时,我得到一个类型错误fori,valueinenumerate(line_score):print(i,value)if(value["GAME_SEQUENCE"]!=game_sequence):game_sequ... 查看详情

如何在不阻塞的情况下从 Flux 获取列表?

】如何在不阻塞的情况下从Flux获取列表?【英文标题】:HowtogetaListfromFluxwithoutblocking?【发布时间】:2019-09-0923:52:35【问题描述】:我有一个返回通量的存储库,并希望将结果设置为另一个需要列表的对象。有没有其他方法可以... 查看详情

如何在不和谐 js 中使用消息获取?

】如何在不和谐js中使用消息获取?【英文标题】:HowdoIusemessagefetchindiscordjs?【发布时间】:2021-08-2406:48:29【问题描述】:我怎样才能让我的不和谐js机器人从频道中获取消息并将它们添加到嵌入并在频道中发送它们。我试过https... 查看详情

如何在不使用会话的情况下获取图形令牌?

】如何在不使用会话的情况下获取图形令牌?【英文标题】:Howtoacquiregraphtokenwithoutusingsessions?【发布时间】:2018-07-0317:08:11【问题描述】:我有一个使用AzureAD身份验证的应用程序。我还需要访问MicrosoftGraphAPI以获取用户数据。... 查看详情

如何在不使用 OPENJSON 的情况下获取 json 对象属性

】如何在不使用OPENJSON的情况下获取json对象属性【英文标题】:HowtogetjsonobjectpropertywithoutusingOPENJSON【发布时间】:2019-10-1512:04:26【问题描述】:以下是我从中获取特定值(OldPTValue,NewPTValue)的脚本表HistoryTracking.我正在使用OPENJ... 查看详情

如何在不访问请求的情况下获取基本 URL

】如何在不访问请求的情况下获取基本URL【英文标题】:Howtogetbaseurlwithoutaccessingarequest【发布时间】:2017-02-1308:13:33【问题描述】:如何在没有请求的情况下获取AspNet核心应用程序中的基本URL?我从请求中知道您可以获得方案和... 查看详情