Python 如何在黑色背景中对黑色文本进行解译

Python 如何在黑色背景中对黑色文本进行解译,python,text,ocr,tesseract,cv2,Python,Text,Ocr,Tesseract,Cv2,我实际上是在安卓系统中开发的,我已经创建了一个程序,用户必须上传一张他商店的照片,上面有他正在出售和他已经出售的所有东西(关于一个游戏)。实际上,我在最后一部分,我需要检测哪些是已售出的商品 不幸的是,这张照片的质量很低,因为它是用手机拍摄的。但是,我认为,如果我使用cv2的灰色、阈值和Canny方法清洁图像,我可以在使用OCR tesseract读取信息后进行清洁 然后,我将向您展示我在最后一部分工作的所有图像的结构: 例如,在对第二幅图像进行简单的灰色处理后,我得到以下结果: 最后,如

我实际上是在安卓系统中开发的,我已经创建了一个程序,用户必须上传一张他商店的照片,上面有他正在出售和他已经出售的所有东西(关于一个游戏)。实际上,我在最后一部分,我需要检测哪些是已售出的商品

不幸的是,这张照片的质量很低,因为它是用手机拍摄的。但是,我认为,如果我使用cv2的灰色、阈值和Canny方法清洁图像,我可以在使用OCR tesseract读取信息后进行清洁

然后,我将向您展示我在最后一部分工作的所有图像的结构:

  • 例如,在对第二幅图像进行简单的灰色处理后,我得到以下结果:

  • 最后,如果我执行以下所有代码,我会得到这个结果:

    img = cv2.imread('recorte.jpg')
    gray = get_grayscale(img)
    thresh = thresholding(gray)
    opening = opening(gray)
    canny = canny(gray)
    
  • 我知道,结果太专业了,但我确实需要帮助。如果我执行tesseract,我会得到以下结果:

    卷轴(同一水平)


    总之,我认为我正在朝着好的方向努力,我唯一要做的就是正确地清理图像,使用具有正确配置的tesseract,最终得到一个好的结果。希望你能帮助我。谢谢大家!

    以下是您想要的:

    img = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    ret, thresh = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY_INV)
    

    以下是您想要的:

    img = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    ret, thresh = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY_INV)
    

    用ie.
    img[img<100]=255
    在灰色图像中用白色像素替换非常暗的像素怎么样?或者
    img=~img
    来反转灰度图像中的颜色?或者您应该尝试
    inRange
    HSL
    颜色:ie.
    img[img<100]=255
    如何在灰色图像中用白色像素替换非常暗的像素?或者
    img=~img
    来反转灰度图像中的颜色?或者您应该尝试
    inRange
    HSL
    颜色: