画像処理について勉強しています。
画像のラベリングを行うプログラムを書いていたのですが、意図した結果になりません。
以下の関数で実現しようとしましたが、上手くいきませんでした。何か、決定的に間違っている点などがありましたら、教えてください。
また、参考になるWebページなどがありましたら、教えていただけると幸いです。
image2[][]には、レナ画像の512x512を判別分析法を使用して2値化した画像データが格納されています。
また、label[]は全て-1で初期化しました。(initialize())
void labeling(){
int x,y;
int up_label,left_label;
int label_num=1; //初期ラベル
int label_add=1; //ラベルの増分
int max;
int i;
initialize();
for(y=0; y<y_size1; y++){
for(x=0; x<x_size1; x++){
if(image2[y][x]==0 && label[y][x]==-1){
up_label=left_label=500;
if(y-1>=0) up_label=label[y-1][x];
if(x-1>=0) left_label=label[y][x-1];
if(up_label==500 && left_label==500){//(0,0)の地点の処理
label[y][x]=label_num;
}else if(up_label==left_label){//上と左が等しい場合の処理
//上と左のラベルが無い場合はラベルを作る
if(up_label < 0) label_num += label_add;
//ラベルを付与
label[y][x]=label_num;
}else{//それ以外の処理
//上と左で小さいほうのラベルを付与する
if(up_label<0) label[y][x]=left_label;
else if(left_label<0) label[y][x]=up_label;
else label[y][x]= (up_label < left_label)? up_label:left_label;
}
}
}
}
}
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
私もラベリングのアルゴリズムを考えているものです。
まだ考え途中なのですが、とりあえず訂正すべき箇所はわかりましたので、書き込ませていただきます。
上と左を調べて小さいほうのラベルを付与したあと、上と左で大きい方のラベルに小さいラベルを振りなおす必要があります。
自分で書いてても意味がわからなくなってしまったので、図で。
333
555□□□
555□□□
555□□□
この画像を処理すると
333
555333
555333
555333
こうなってしまうと思います。
そこで5の部分に3を入れなおさなければいけません。
333
333333
333333
333333
この処理をエレガントに行うのが割りと難しくて私も苦労しています。
もっと詳しい方の回答をお待ちしていますw
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP 掲示板を作成しておりアップロードファイルとメッセージを並べたいので、アドバイスお願い致します 2 2023/07/17 21:01
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- Visual Basic(VBA) Excel VBA ユーザーフォーム内のラベルにテキストボックスの計算結果を出す方法 5 2022/08/18 11:20
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報