标签: text-recognition

如何识别画布上绘制的角色

我正在使用手指画画线,到目前为止,我已经提出以下代码:

 case MotionEvent.ACTION_MOVE:
    //return if touch is in this area of canvas
    if (x<=430 || y<=80 || y>=490) return true;
    //draw path using x and y co-ordinates
    mPath.quadTo(previousPoint.x, previousPoint.y, (x+previousPoint.x)/2,(y+previousPoint.y)/2);
    canvas.drawPath(mPath, paint);
    previousPoint.x = x;
    previousPoint.y = y;
    //invalidate canvas on move
    imageView.invalidate();
    break;
case MotionEvent.ACTION_UP:
    Xend=x;
    Yend=y;
    //validate that is it true?
    if((Xstart>=780 && Xstart<=830) && (Xend>=780 && Xend<=830) && (Ystart>=10 && Ystart<=200) && Yend<=800 && Yend>=300){
    //show toast if correct
    Toast.makeText(getBaseContext(), "Correct", Toast.LENGTH_SHORT).show();
    }else{
    //show toast with XY …
Run Code Online (Sandbox Code Playgroud)

android canvas text-recognition touch-event

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

如何强制 Android 的 Mobile Vision 读取整行文本

我已经按照教程实现了适用于 Android 的 Google Mobile Vision。我正在尝试构建一个应用程序来扫描收据并查找总数。然而,当我扫描以不同格式打印的不同收据时,API 将以似乎任意的方式检测 TextBlock。例如,在一张收据中,如果多个文本单词由单个空格分隔,则它们将被分组到单个 TextBlock 中。但是,如果两个文本单词被大量空格分隔,那么它们将被分隔为独立的 TextBlock,即使它们出现在同一“行”上。我想做的是强制 API 将收据的每一整行识别为单个实体。这可能吗?

text-recognition android-vision

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

过滤图像以改善文本识别

我在下面(裁剪后)有此源图像,并且在阅读文本之前尝试进行一些图像处理。

图片1

使用python和opencv,我尝试使用k = 2的k-means删除背景中的行,结果是

图片2

我尝试使用下面的代码对图像进行平滑处理

def process_image_for_ocr(file_path):
# TODO : Implement using opencv
temp_filename = set_image_dpi(file_path)
im_new = remove_noise_and_smooth(temp_filename)
return im_new


def set_image_dpi(file_path):
    im = Image.open(file_path)
    length_x, width_y = im.size
    factor = max(1, int(IMAGE_SIZE / length_x))
    size = factor * length_x, factor * width_y
    # size = (1800, 1800)
    im_resized = im.resize(size, Image.ANTIALIAS)
    temp_file = tempfile.NamedTemporaryFile(delete=False, suffix='.jpg')
    temp_filename = temp_file.name
    im_resized.save(temp_filename, dpi=(300, 300))
    return temp_filename


def image_smoothening(img):
    ret1, th1 = cv2.threshold(img, BINARY_THREHOLD, 255, cv2.THRESH_BINARY)
    ret2, th2 = cv2.threshold(th1, 0, 255, …
Run Code Online (Sandbox Code Playgroud)

python opencv image-processing text-recognition

5
推荐指数
0
解决办法
704
查看次数

ML Kit - Android - 文本识别 - 文本方向

我在货架上启动了一个新的文件编号文本识别应用程序,并在 Youtube 上使用了以下 ML Kit 文本识别: 教程 ML KIT 文本识别

只要文件编号水平写入,它就可以完美运行。当文本垂直方向并且我将手机置于横向位置时,应用程序会考虑方向并且文本识别不再起作用。

我试图添加两者

<activity android:name=".NameOfTheActivity" android:screenOrientation="portrait"> 
Run Code Online (Sandbox Code Playgroud)

在清单中, setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)甚至

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR)

进入 onCreate 方法。即使手机处于横向位置,活动也保持纵向模式。但是,在横向位置使用我的手机时,文本识别仍然不起作用。

Activity 代码的对应部分如下:

//Event Camera View
    cameraView.addCameraKitListener(new CameraKitEventListener() {
        @Override
        public void onEvent(CameraKitEvent cameraKitEvent) {
        }

        @Override
        public void onError(CameraKitError cameraKitError) {
        }

        @Override
        public void onImage(CameraKitImage cameraKitImage) {
            //Show Dialog
            waitingDialog.show();

            //Processing image
            Bitmap bitmap = cameraKitImage.getBitmap();
            bitmap = Bitmap.createScaledBitmap(bitmap, cameraView.getWidth(), cameraView.getHeight(), false);
            cameraView.stop();

            recognizeText(bitmap);
        }

        @Override
        public void onVideo(CameraKitVideo cameraKitVideo) {
        }
    });

private void recognizeText(Bitmap bitmap) …
Run Code Online (Sandbox Code Playgroud)

ocr android text-recognition firebase firebase-mlkit

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

如何在 Firebase ML-Kit 中仅检测一个字符?

我像AndroidExample一样设置了 ML-Kit并使用设备上识别模式。它工作得很好。但是如果我们有一个像 'A'、'5'、'K'、'9' 这样的字符,它就无法识别任何东西!它只适用于一个以上的字符串长度!我只需要识别一个字符。我缺什么?!

这是我的函数,它获取图像的位图并从中找到文本。

private void RecognizeText(Bitmap bitmap) {
    FirebaseVisionImage image = FirebaseVisionImage.fromBitmap(bitmap);
    FirebaseVisionTextRecognizer detector = FirebaseVision.getInstance()
        .getOnDeviceTextRecognizer();

    Task<FirebaseVisionText> result =
    detector.processImage(image)
        .addOnSuccessListener(new OnSuccessListener<FirebaseVisionText>() {
        @Override
        public void onSuccess(FirebaseVisionText firebaseVisionText) {
            String s = firebaseVisionText.getText() + " | " + firebaseVisionText.getText().length();
            Toast.makeText(MainActivity.this, s, Toast.LENGTH_LONG).show();

            textView.setText(s);
        }
    })
        .addOnFailureListener(
    new OnFailureListener() {
        @Override
        public void onFailure(Exception e) {
            Log.d("EEEEEEEEVVVVVV", e.toString());
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

android text-recognition firebase firebase-mlkit

5
推荐指数
0
解决办法
544
查看次数

是否有可能只在 android 的 firebase ml 套件中查找黑色字体?

我已经阅读了有关 ml kit 教程的所有内容https://firebase.google.com/docs/ml-kit/android/recognize-text。我只对本地 ocr 感兴趣,而不是云版本。当然,正如问题所暗示的那样,它与文本识别有关。

text-recognition firebase-mlkit google-mlkit

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

有没有可以将图像转换为文本格式的iphone类?

我想开发一个将某种图像转换为文本格式的iPhone应用程序.我想知道是否有用于实现此目的的内置库?

iphone ocr objective-c text-recognition

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

Tesseract - 如何从输入坐标的图像中提取文本?

我需要输入图像和坐标。输入坐标中存在的文本必须作为输出读取。如何使用节点超立方体来做到这一点?

ocr tesseract image-recognition text-recognition node.js

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

Swift iOS - 视觉框架文本识别和矩形

我试图在使用 Vision 框架找到的文本区域上绘制矩形,但它们总是有点偏离。我这样做是这样的:

    public func drawOccurrencesOnImage(_ occurrences: [CGRect], _ image: UIImage) -> UIImage? {

    UIGraphicsBeginImageContextWithOptions(image.size, false, 0.0)

    image.draw(at: CGPoint.zero)
    let currentContext = UIGraphicsGetCurrentContext()

    currentContext?.addRects(occurrences)
    currentContext?.setStrokeColor(UIColor.red.cgColor)
    currentContext?.setLineWidth(2.0)
    currentContext?.strokePath()

    guard let drawnImage = UIGraphicsGetImageFromCurrentImageContext() else { return UIImage() }

    UIGraphicsEndImageContext()
    return drawnImage
}
Run Code Online (Sandbox Code Playgroud)

但返回的图像看起来总是差不多,但并不真正正确: 第一张图片

第二张图片

第三张图片

这就是我创建盒子的方式,与苹果的方式完全相同:

        let boundingRects: [CGRect] = observations.compactMap { observation in

        guard let candidate = observation.topCandidates(1).first else { return .zero }

        let stringRange = candidate.string.startIndex..<candidate.string.endIndex
        let boxObservation = try? candidate.boundingBox(for: stringRange)

        let boundingBox = boxObservation?.boundingBox ?? .zero

        return VNImageRectForNormalizedRect(boundingBox,
                                            Int(UIViewController.chosenImage?.width …
Run Code Online (Sandbox Code Playgroud)

vision uiview text-recognition ios swift

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

在OpenCV中用文本行查找轮廓

我正在编写一个文本识别程序,并且在编写轮廓时遇到了问题。该程序可以很好地处理一行文本,但是当涉及到整个文本块时,我的程序不会像80%的时间那样检测到文本行。提取一行文本然后提取所有其他行(一次一个)的真正有效方法是什么?

我要达到的目标:

在此处输入图片说明

c++ ocr android opencv text-recognition

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