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

조회 수: 4 (최근 30일)
勇威 池畑
勇威 池畑 2023년 1월 5일
댓글: 勇威 池畑 2023년 1월 19일
現在以下のようなプログラムを作成しています。
うまく耳部分のタグ(耳標)だけを取り出したいです。
その後は文字認識として光学式文字認識などを用いる予定です。
アドバイス宜しくお願いします。
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");
  댓글 수: 2
Kojiro Saito
Kojiro Saito 2023년 1월 9일
HSV色空間の下限Th1と上限Th2を使ってBWを抽出していますが、これは耳標の抽出をおこなっている計算でしょうか?
勇威 池畑
勇威 池畑 2023년 1월 10일
すみません、プログラムを書き換えた結果、以下のようになっております。
一枚の牛舎の写真から隠れている耳標を一枚ずつ計7枚取り出すことが現在できています。
その後、文字認識に移りたいのですが耳標部分の画像を拡大したいです。
アドバイス宜しくお願いします。
clear all;close all;clc
I = imread('\牛舎\牛舎1.png');
%%耳標範囲を選択
targetSize = [300 1920];
I0 = centerCropWindow2d(size(I),targetSize);
I1 = imcrop(I,I0);
%%黄色部分を閾値を用いて選択
I_2 = Mask(I1);
%figure,imshow(I_2,"InitialMagnification","fit")
%%穴埋め処理とピクセル数で閾値を決め、ノイズ処理を行う
I_3=imfill(I_2,'holes');
%figure,imshow(I_3,"InitialMagnification","fit")
I_4 = bwareaopen(I_3,200);
%figure,imshow(I_4,"InitialMagnification","fit")
%%ラベリングを行い一枚の牛舎の写真から一枚ずつ耳標を取り出す
se = strel('rectangle',[30 30]);
I_4 = imdilate(I_4,se);
%figure,imshow(I_4)
[L,num] = bwlabel(I_4);
s = zeros(size(L));
for m=1:num
s=(L==m);
I_5 = repmat(s,[1 1 3]);
I_6 = uint8(I_5);
I_7 = I1(:,:,:).*I_6(:,:,:);
%figure,imshow(I_7,"InitialMagnification","fit")
end

댓글을 달려면 로그인하십시오.

답변 (1개)

Kojiro Saito
Kojiro Saito 2023년 1월 11일
>その後、文字認識に移りたいのですが耳標部分の画像を拡大したいです。
耳標部分の画像を拡大するには、画像から耳標の周りを切り抜きをしてリサイズする必要があります。
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は精度高く抽出するのが難しいので、こちらのドキュメントを参考に試行錯誤が必要だと思います。
  댓글 수: 10
Kojiro Saito
Kojiro Saito 2023년 1월 19일
CNNを使うということは分かりましたが、上記のコードで何が困っているところでしょうか?提出まで時間がないとは思いますが、聞きたいところを的確にしないと他の方も回答しづらいと思います。
宿題・研究課題などの丸投げはご勘弁くださいませ。
また、問題点・状況をできるだけ明確することで的確な回答に繋がるかと思います。」
勇威 池畑
勇威 池畑 2023년 1월 19일
ぶしつけな質問失礼しました。
試行錯誤してみます。

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 イメージを使用した深層学習에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!