耳部分のタグ(耳標)​だけを取り出し、その​後文字認識を行いたい

現在以下のようなプログラムを作成しています。
うまく耳部分のタグ(耳標)だけを取り出したいです。
その後は文字認識として光学式文字認識などを用いる予定です。
アドバイス宜しくお願いします。
I = imread('\耳標写真\牛舎.png');
HSV = rgb2hsv(I);
Hue = HSV(:,:,1);
figure,
%subplot(2,2,1);imshow(Hue,"InitialMagnification","fit");
%impixelinfo
Th1 =0.13; Th2 =0.15;
BW = (Th1<=Hue&Hue<=Th2);
subplot(2,2,2),imshow(BW,"InitialMagnification","fit");

1 Comment

Kojiro Saito
Kojiro Saito on 9 Jan 2023
HSV色空間の下限Th1と上限Th2を使ってBWを抽出していますが、これは耳標の抽出をおこなっている計算でしょうか?

Sign in to comment.

Answers (1)

Kojiro Saito
Kojiro Saito on 11 Jan 2023

0 votes

>その後、文字認識に移りたいのですが耳標部分の画像を拡大したいです。
耳標部分の画像を拡大するには、画像から耳標の周りを切り抜きをしてリサイズする必要があります。
bwareafiltregionprops (どちらもImage Processing Toolboxの関数)を使って対象領域を切り抜きし、imresizeでリサイズできます。文字認識はocr関数 (Computer Vision Toolbox)でできます。
for文の中に以下を追加してみてください。
bwMask = bwareafilt(I_5(:, :, 1), 1);
props = regionprops(bwMask, 'BoundingBox');
imgNew = imcrop(I_7, props.BoundingBox);
imgNewRes = imresize(imgNew, 5); % 画像サイズを5倍にする
ocrResults = ocr(imgNewRes, 'TextLayout', 'block'); % 自動レイアウト解析を無効にしてテキストブロックを検出
disp(ocrResults)
ただ、OCRは精度高く抽出するのが難しいので、こちらのドキュメントを参考に試行錯誤が必要だと思います。

4 Comments

Kojiro Saito
Kojiro Saito on 12 Jan 2023
スクリーンショットを確認しました。変数sがdouble型になっていて、そのためにI_5がdouble型になっているのが原因ですね。
質問のコメントにはfor文の最初に
s=(L==m);
があり、ここでsがlogical型になり、I_5もlogical型でbwareafiltが使えるようになります。
このコードを復元してみてください。
Kojiro Saito
Kojiro Saito on 12 Jan 2023
imshowで1箇所しか表示されないのは文字認識がそこしかできていないようです。
ocrはデフォルトではなかなか精度が出ないのでこちらのドキュメント正確な結果を取得する際の課題にあるところを参考に試行錯誤が必要になります。
Kojiro Saito
Kojiro Saito on 13 Jan 2023
OCRを引き続き使って検知の精度を上げる方法としては、OCRトレーナーを使ってカスタムフォントを学習させる方法があります。1枚ではなく何枚か画像を使って学習させたほうが良いです。
他の方法では、HOG特徴量を抽出してから、サポートベクターマシンやニューラルネットワーク(シャローネットワークまたはディープネットワーク)に掛ける方法もあります。こちらの例が参考になると思います。
Kojiro Saito
Kojiro Saito on 19 Jan 2023
CNNを使うということは分かりましたが、上記のコードで何が困っているところでしょうか?提出まで時間がないとは思いますが、聞きたいところを的確にしないと他の方も回答しづらいと思います。
宿題・研究課題などの丸投げはご勘弁くださいませ。
また、問題点・状況をできるだけ明確することで的確な回答に繋がるかと思います。」

Sign in to comment.

Asked:

あ
on 5 Jan 2023

Commented:

on 19 Jan 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!