SanSanの「浅葉建設」をOpenCVを使って文字認識するには、
まずは画像処理が前処理として必要なんだろうと、
OpenCVの画像認識をお勉強
■前提
import cv2
ができることはもちろん
import numpy as np
import matplotlib.pyplot as plt
が出来ないと使いものにならない。できなかったら、まずは、
pip install opencv-python
でインストール
■イメージを読み込む
img = cv2.imread(読み込み画像ファイル名)
でよみこむ。読み込んだものは、画素の値がnumpyの配列で表示される
(読み込みはBGR 表示はRGBなので、表示するには変換する)
■切り出し 2値化
2値化結果画像を1(または255)で初期化(画像と同じ配列の大きさで)
画像の該当画素が、式一以上だったら255(または1)を2値化結果画像にセット
必要ならノイズぼかし(ガウシアンcv2.GaussianBlur)などかける
■.輪郭抽出
cv2.findContours()する(表示はcv2.drawContours())
輪郭だけとってきたい場合、面積大きいところ:cv2.contourAreaなどでもとめる
■歪み補正
変換行列 = cv2.getPerspectiveTransform(元の画像の点, 変換先の点)
出力画像 = cv2.warpPerspective(変形する対象の画像, 変換行列, 抽出する領域の大きさ)
の合わせ技
で、さあ、文字識別する画像認識ができると思ったら・・・・
(明日に続く)
まずは画像処理が前処理として必要なんだろうと、
OpenCVの画像認識をお勉強
■前提
import cv2
ができることはもちろん
import numpy as np
import matplotlib.pyplot as plt
が出来ないと使いものにならない。できなかったら、まずは、
pip install opencv-python
でインストール
■イメージを読み込む
img = cv2.imread(読み込み画像ファイル名)
でよみこむ。読み込んだものは、画素の値がnumpyの配列で表示される
(読み込みはBGR 表示はRGBなので、表示するには変換する)
■切り出し 2値化
2値化結果画像を1(または255)で初期化(画像と同じ配列の大きさで)
画像の該当画素が、式一以上だったら255(または1)を2値化結果画像にセット
必要ならノイズぼかし(ガウシアンcv2.GaussianBlur)などかける
■.輪郭抽出
cv2.findContours()する(表示はcv2.drawContours())
輪郭だけとってきたい場合、面積大きいところ:cv2.contourAreaなどでもとめる
■歪み補正
変換行列 = cv2.getPerspectiveTransform(元の画像の点, 変換先の点)
出力画像 = cv2.warpPerspective(変形する対象の画像, 変換行列, 抽出する領域の大きさ)
の合わせ技
で、さあ、文字識別する画像認識ができると思ったら・・・・
(明日に続く)