今週の進捗(仮屋)

商品名をOCRで読取り、その結果からデータベース検索を行い、商品名を特定するプログラムを作成した。以下は検索の流れ。画像は入力画像 1.OCR結果より疑似乱数を用いて商品ごとに無作為に三文字抽出 2.抽出した三文字によってsqliteの曖昧検索(LIKE検索)を行う 3.検索にヒットした商品名をカウントする 4.1~3の流れを複数回行う(今回は100回)。これにより最も多く検索にヒットしたものを決定する。 以上のOCR及び検索によって得られた出力結果は以下のようになった。 <OCR結果> INDICATOR 800*900 INDICATOR 800*1100 INDICAWTOR 275 (25) INDICATOR 550*1400*25 BDICATOR 1100*1400**25 SIGNWEIGHT (HDB) Y SIGNWBIGHT (S ()RBEN) MA SEAWHHS MA STAND-Y F*18ABH F-18AD - DESIGN FEN(B PANFL- (DS) -M CLAMP*FENCE BAND4 BEADTY BASE C()ANE BASE ASHCCAN W/CIIP STEELPATES-A <検索を通した最終的な出力結果の一例> INDICATOR 800*900 INDICATOR 800*1100 INDICATOR 275(25) INDICATOR 550*1400*25 INDICATOR 1100*1400*25 SIGNWEIGHT(HDG) SIGNWEGHT (S GREEN) MA STAND-Y MA STAND-Y F-18AEM F-18AD DESIGN FENCE PANEL (DS)-M CLAMP-FENCE BAND BEAUTY BASE CONE BASE ASH CAN W/CUP STEEL PATES-A ’MA STAND-G’のOCR結果が’MA SEAWHHS’となったため検索結果が'MA STAND-Y'となってしまった。また乱数を使用しているため、特に商品名が短いものに関しては正確な出力結果が得られない場合があった。 output

今週の進捗(仮屋)

opencvに含まれているadaptiveTreshold関数を用いて二値化した画像からfastN1MeansDenoising関数を用いてノイズを除去した画像を用いて文字認識を行った(画像はノイズ除去後)。 文字認識結果は以下のようになった。 <正解> INDICATOR 800*900 INDICATOR 800*1100 INDICATOR 275(25) INDICATOR 550*1400*25 INDICATOR 1100*1400*25 SIGNWEIGHT(HDG) SIGNWEIGHT (S GREEN) MA STAND-G MA STAND-Y F-18AEM F-18AD DESIGN FENCE PANEL(DS)-M CLAMP-FENCE BAND BEAUTY BASE CONE BASE ASH CAN W/CUP STEEL PATES-A <認識結果> INDICATOR 800*900 INDICATOR 800*1100 DIDICATOR 275 (25) DIDICATOR 550*1400*25 INDICATOR 1100*1400*25 SIGT*WEIGHF (HDG) P SIGIMUWEIGHT (S GRBEN) MA SDARDG MA STAND-Y F-18ABM F-18AD - DESIGN FENCE PANEL (DS) -M CLAMP*FEIGCE BADTD BEAUWY BASE CCNE BASB ASHUCAN W/CUP STEELPATES-A -T output