【问题标题】:OpenCV Error. Expected Ptr<cv::UMat> for argument '%s', What kind of error is this?OpenCV 错误。参数“%s”的预期 Ptr<cv::UMat>,这是什么错误?
【发布时间】:2021-09-04 19:01:27
【问题描述】:

下面我提供了sn-p的代码

kernel=np.ones((1, 1), np.float32)
img=cv2.dilate(pages[0], kernel, iterations=1)
img=cv2.erode(pages[0], kernel, iterations=1)
text=str(pt.image_to_string(img))

我在上面代码的第二行中遇到了一些错误。提前致谢!

【问题讨论】:

  • pages[0] 是什么?它可能是一个字符串?指示一些图像文件(路径)?如果是这样,您需要实际阅读图像,例如使用cv2.imread(pages[0])。对于膨胀和腐蚀,图像必须是灰度的。所以,cv2.imread(pages[0], cv2.IMREAD_GRAYSCALE) 可能是有益的。
  • pages[0] 是从 pdf 中提取的图像 感谢您的建议,将尝试灰度跟随膨胀和侵蚀并让您知道

标签: ocr opencv-python


【解决方案1】:

您得到的错误是因为 pages[0] 不是正确的形式。 cv2.Umat() 在功能上等同于 np.float32(),所以你的代码应该这样写:

img = cv2.dilate(np.float32(pages[0]), kernel, iterations=1)
img = cv2.erode(np.float32(pages[0]), kernel, iterations=1)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-30
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 2020-10-06
    • 2021-08-10
    • 2020-08-27
    • 1970-01-01
    相关资源
    最近更新 更多