【问题标题】:I am using this code to crop an image using open CV ,But this error keeps coming [duplicate]我正在使用此代码使用 open CV 裁剪图像,但此错误不断出现 [重复]
【发布时间】: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)。

标签: python python-3.x image opencv computer-vision


【解决方案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].
猜你喜欢
  • 1970-01-01
  • 2019-09-23
  • 1970-01-01
  • 2019-06-27
  • 1970-01-01
  • 1970-01-01
  • 2021-05-08
  • 2020-03-13
  • 2021-05-06
相关资源
最近更新 更多