2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【UiPath】【OCR】印鑑被りの文字を読み取るための前処理(画像の白黒2階調化)

Last updated at Posted at 2024-09-13

はじめに

  • 本記事は、抽出対象文字列と印鑑が被るためにOCRで正確に読み取れないケースへの対処法を書きます。
  • 記事の内容は、個人の見解または確認結果であり、UiPath の公式見解ではありません。
  • 製品仕様や参考画像は 24.10 バージョンのもので構成しています。

説明用サンプル画像

白黒2階調化1.JPG

上の画像を「ドキュメントをデジタル化」アクティビティ × Extended Language OCR で読み取ると次の様な結果が返ってきます↓↓

上段の会社名は「C」を「Q」に読み違えただけですが、下段の住所はまともに読めていません。

ABQ 株 式 会 社 〒 1 TA BC

ワークフローで白黒2階調化した画像で試した結果↓↓

(白黒2階調化後の画像)
白黒2階調化2.jpg
(OCRの抽出結果)

ABC 株 式 会 社

〒 100-0004 東 京 都 千 代 田 区 大 手 町 1-1-1

実装例

白黒2階調化3.jpg

  1. 「コードを呼び出し」アクティビティを配置し、上図の様に引数を設定します。
  2. 「コードを編集」で次のコードを貼り付け>保存する
' 画像ファイルのパス
Dim inputImagePath As String = inputFilePath
Dim outputImagePath As String = outputFilePath
 ' 画像を読み込む
Using originalBitmap As New Bitmap(inputImagePath)
    ' 処理後の画像を作成する
    Using newBitmap As New Bitmap(originalBitmap.Width, originalBitmap.Height)
        ' 画像の各ピクセルを処理する
        For y As Integer = 0 To originalBitmap.Height - 1
            For x As Integer = 0 To originalBitmap.Width - 1
                Dim pixelColor As Color = originalBitmap.GetPixel(x, y)
                 ' 黒色を抽出し、それ以外は白色にする
                If pixelColor.R < Red AndAlso pixelColor.G < Green AndAlso pixelColor.B < Blue Then
                    newBitmap.SetPixel(x, y, Color.Black)
                Else
                    newBitmap.SetPixel(x, y, Color.White)
                End If
            Next
        Next
         ' 新しい画像を保存する
        newBitmap.Save(outputImagePath)
    End Using
End Using

本例では、RGBの引数の値はいずれも100を指定しています。
※一般的に黒色というとRGBは0,0,0をイメージされるかとおもいますが、スキャン画像の黒は色の幅があるので広めにとるために100を指定します。

RGBの赤の値(Int32):100
RGBの緑の値(Int32):100
RGBの青の値(Int32):100

(参考)RGB:50,50,50
白黒2階調化4_50_50_50.jpg

(参考)RGB:200,200,200
白黒2階調化5_200_200_200.jpg

さいごに

いかがでしたでしょうか。
デジカメの画像なんかで試すととんちんかんな結果となりますが、白黒+αで構成されている請求書の様なドキュメントであれば印鑑だけ除くことはできるかとおもいます。
印鑑被りでお困りの方は是非一度試してみてください☆
最後までお読みいただきありがとうございます(・ω・)ノ

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?