我正在使用此代码使用 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 裁剪图像,但此错误不断出现 [重复]的主要内容,如果未能解决你的问题,请参考以下文章