相关疑难解决方法(0)

在屏幕截图中识别字符的最佳方式?

您会建议从屏幕截图中识别所有字符?屏幕截图非常清晰(白色背景上只有黑色文字),我也可以为文本选择任何starndard字体(安装在Windows上).我尝试了一些OCR方式(Tesseract等),但它在识别某些字符方面犯了错误(这让我感到困惑,因为文本没有丝毫噪音,字体是最常见的字体 - Courier New,Fixedsys等),我需要它100%准确.是否有一些库可用于此特定目的,某些模式识别或其他什么?或者我应该使用一些等宽字体获取屏幕截图,并迭代通过图像移动到右+ font_size像素,然后比较捕获的东西与字母的内存表示和相同大小的相同字体的数量?解决这个问题的最佳方法是什么?非常感谢你提前.

更新:我终于通过使用monospaced字体(Courier New)训练Tesseract,以我所截取的精确尺寸设法获得100%的准确率.希望将来帮助某人:)

ocr fonts tesseract pattern-recognition

20
推荐指数
2
解决办法
7046
查看次数

在OpenCV中更改图像的dpi

当我在OpenCv中打开图像(可能为300 dpi,72 dpi等)时,图像的dpi自动更改为96 dpi。我想改变这个dpi。请帮忙。提前致谢...

#include "stdafx.h"
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    IplImage *img1=cvLoadImage("input.jpg");
    cvSaveImage("output.jpg",img1);
    return(0);
}
Run Code Online (Sandbox Code Playgroud)

opencv dpi

5
推荐指数
1
解决办法
7837
查看次数

更改图像 DPI 以用于 tesseract

我正在做一个项目来识别名片中的文本并将它们映射到适当的字段。我使用 opencv 进行图像处理。我需要将预处理过的图像提供给 Tesseract-OCR 引擎进行文本识别。此链接 指出图像的 DPI 至少应为 300。我的图像像素大小为 2560x1536,DPI 为 72。

  • 如何将 DPI 提高到 300?
  • 也有人说调整图像大小是有益的。 如何以最佳方式调整我的图像大小以获得良好的 OCR 结果
  • Tesseract 在 DPI 至少为 300 dpi 的图像上效果最好,因此调整图像大小可能是有益的。这里的“so”是什么意思。调整图像大小和 DPI 之间有什么关系?

ocr opencv tesseract image-processing dpi

5
推荐指数
1
解决办法
6966
查看次数

如何在py-opencv中保存dpi信息?

import cv2

def clear(img):
    back = cv2.imread("back.png", cv2.IMREAD_GRAYSCALE)
    img = cv2.bitwise_xor(img, back)
    ret, img = cv2.threshold(img, 120, 255, cv2.THRESH_BINARY_INV)
    return img


def threshold(img):
    ret, img = cv2.threshold(img, 120, 255, cv2.THRESH_BINARY_INV)
    img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
    ret, img = cv2.threshold(img, 248, 255, cv2.THRESH_BINARY)
    return img


def fomatImage(img):
    img = threshold(img)
    img = clear(img)
    return img


img = fomatImage(cv2.imread("1566135246468.png",cv2.IMREAD_COLOR))
cv2.imwrite("aa.png",img)
Run Code Online (Sandbox Code Playgroud)

这是我的代码。但是当我尝试用 tesseract-ocr 识别它时,我收到了警告。

Warning: Invalid resolution 0 dpi. Using 70 instead.

我应该如何设置dpi?

opencv tesseract python-tesseract opencv3.0

1
推荐指数
1
解决办法
4208
查看次数