我正在使用此代码使用 open CV 裁剪图像,但此错误不断出现 [重复]

Posted

技术标签:

【中文标题】我正在使用此代码使用 open CV 裁剪图像,但此错误不断出现 [重复]【英文标题】:I am using this code to crop an image using open CV ,But this error keeps coming [duplicate] 【发布时间】:2021-04-18 04:08:29 【问题描述】:

我正在使用以下代码来裁剪图像。当我打印裁剪后,它的显示和空数组。谁能帮我正确地完成这种裁剪

import cv2
import pytesseract


image = cv2.imread(r'C:\Users\Ramesh\Desktop\Parsing_Project\Resumes_jpg\Akhil\output1.jpg')
image = cv2.resize(image,(800,740))

cropped = image[292:37, 564:65]

cv2.imshow("cropped",cropped)

cv2.waitKey(0)

【问题讨论】:

您未能读取图片。尝试在 imread 之后执行 print(image)。 【参考方案1】:

当您使用 OpenCV Python 读取图像时,您会得到一个 Numpy 数组。从这个数组中裁剪(使用 Numpy 称为 slicing)不能这样工作。您没有定义起点和长度,而是定义起点和终点:

cropped = image[start_row:end_row, start_col:end_col]

请注意,结束行/列本身是排他性的,因此不包括在内。你的例子得到的当然是一个空数组,用 OpenCV 是不可能显示的。

【讨论】:

我所做的是尝试使用坐标进行裁剪。反正有没有传递坐标和裁剪? 坐标是指 x/y 和宽度/高度?尽可能简单:image[y:y+height, x:x+width].

以上是关于我正在使用此代码使用 open CV 裁剪图像,但此错误不断出现 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

裁剪图像python的边框

自动图像。安全头盔面部和头部的数据集裁剪

Open-CV - 未正确加载

如何正确使用 cv2.imwrite 通过 cv2.selectROI 在 openCV 中保存图像

在 Javascript 中使用 X、Y 坐标裁剪图像

使用 OpenCV 和 Python 裁剪图像的轮廓