- ベストアンサー
ラベリング方法の工夫をしたいのですが・・・
はじめまして!大学で画像処理について学び始めたものですが、 ラベリング処理でわからないことがあり、質問させていただきました! 二値化はなんとかできたのですが・・・ 下記のようにラベルをつけるにはどうしたらよろしいでしょうか?? 画素数 ○⇒255 ●⇒0 一○○○○○○○○○ 行○○○○●○○○○⇒左から順に●に1、2、3、とつけたい 目○●○○○○○●○ ○○○○○○○○○ ○○○○○○○○○ ○○○○○○○○○ 二○○○○○○○●○ 行○●○○●○○○○⇒左から順に●に11、12、13とつけたい 目○○○○○○○○○ ○○○○○○○○○ ○○○○○○○○○ ※●は横一列ですが上記のように一番右の●の座標が上だったりするなど縦にずれていてラベリングがうまく走査できません。。。この図だと縦に一列ですが、実際は横にも画素がずれています。。。。 最終的には、このようにラベリングして 一○○○○○○○○○ 行○○○○2○○○○ 目○1○○○○○3○ ○○○○○○○○○ ○○○○○○○○○ ○○○○○○○○○ 二○○○○○○○13○ 行○11○○12○○○○ 目○○○○○○○○○ ○○○○○○○○○ ○○○○○○○○○ 1と11 2と12 3と13の距離を測りたいと思っています・・・なのですが、この際ラベリングを走査すると 一行目の「1」とつけたい画素に「2」がついてしまったり、 二行目の「3」とつけたい画素に「1」がついてしまいます。。 そこでラベリングを、コンビニのスキャナーのように 4つの画素分ぐらいで横に走査できるようにできないか、 と考えたのですが、参考書などを調べたのですが そのようなラベリングは見つからず、 うずまきラベリングや 4近傍ラベリングは見つけたのですが、 うまくラベルをつけることができませんでした。 うずまきラベリングは一行目の横画素に到達するまえに 上下の画素に触れてしまいラベリングできませんでした。 4近傍ラベリングは通常のラベリングと同じような結果になってしまいました。 もしどなたか、このようなラベリング方法を知っている方など いましたらご教授お願いします!! 説明不足、意味がよくわからないところなどありましたらご指摘お願いします よろしくお願いします(><)
- みんなの回答 (5)
- 専門家の回答
関連するQ&A
- ラベリング処理
はじめまして。最近、画像処理を勉強し始めたものです。 ラベリング処理で質問したいことがあり、書き込みさせていただきました。 2値化処理した画像を作成したとします。 例えば以下のような0(黒)と255(白)の画像です。 ここで、連結し合う255の画素を同じ番号でラベル付けして、異なるラベル番号の255の島(塊)の数を数えたいと思ってます。 以下の例では、連結し合う同一ラベルの255の島の数は「3つ」となります。 さらに最下2行のように、画素数が3つというような小さな島は除去するという条件もつけられたらなと思ってます。 自分ではなかなかうまくいかず・・・ 是非、どういうプログラムを組んでいけば良いか、ご指導をいただけないでしょうか。 何卒よろしくお願いいたします。 0 0 255 255 0 0 0 0 255 255 255 255 0 0 0 0 255 255 255 255 0 0 0 0 255 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 255 255 255 255 0 0 0 0 255 255 255 255 0 0 0 255 255 255 0 0 0 0 255 255 255 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 255 255 0 0 0
- ベストアンサー
- C・C++・C#
- 画像のラベリング
画像処理について勉強しています。 画像のラベリングを行うプログラムを書いていたのですが、意図した結果になりません。 以下の関数で実現しようとしましたが、上手くいきませんでした。何か、決定的に間違っている点などがありましたら、教えてください。 また、参考になる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; } } } } }
- 締切済み
- C・C++・C#
- 差し込み印刷について
エクセルのデータをワードで差し込み印刷しようとしています。 印刷するラベルは 縦21列 横4行 このラベルに差し込み印刷をしようとすると、通常は左から右へ、上から下への順で データ差し込まれるのですが、これを上から下へ、左から右への順に印刷したいのですが、 可能ですか?
- ベストアンサー
- その他(業務ソフトウェア)
- CSSのテーブルの縦100%について
CSSの縦100%指定について伺います。 現在、三行二列のテーブルを、縦100%のレイアウトにしようとしております。 上段一行は一列に統合して、ヘッダーを入れます。 下段一行は一列に統合して、フッターを入れます。 一行目と三行目の縦幅をピクセルで指定して、 二段目の高さをautoに指定し、 テーブル全体の縦の高さを100%にして、 ウィンドウサイズが変わったときに二段目のみが伸縮するように 出来るものでしょうか。 お分かりの方、どうぞご助言をお願いいたします。
- ベストアンサー
- その他([技術者向] コンピューター)
- Securityって毎回ダウンロードするんでしょうか?
初歩的な質問かもしれません。でも心配で… 度々NortonInternetSecurityのタイトルでダウンロードのようなものが始まるのです。画面中央に縦4センチ横11センチほどの枠が表れ、上記のタイトルの下にいろんな記号が横一列に並んでいます。(例えば一番多いのが極太の縦線でバーコードに似ていますが、そのほかアルファベットや数字なども見られます。)3行目には9センチほどの帯があって、左から順に青色で埋められていくのです。インストールの感じに近いかもしれません。 先月2004をインストールしました。 WinMEです。 情けない話ですが、これが何を意味するのかわからなくて教えていただきたいと思います。よろしくお願いいたします。
- ベストアンサー
- その他(インターネット・Webサービス)
- Excel2007で、行の自動色分けについての質問です。
Excel2007で、行の自動色分けについての質問です。 B1とB2をセルの結合で一行にします。その左A1、A2はそのままにしておきます。これをワンセットとして考えます。つまり一列目は二行、2列目は1行になっているものを一単位として考えるという意味合い。 MOD関数で一行単位で色分けできますが、この一単位を一行と考えて、色分けしようとしても1列目の余りが違うので、一列目は色つきのセル(行)とそうでないセル(行)に別れてしまいますし・・・ なにかいい方法があればお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルで管理表を作りたい
20枚程になる機械の一覧表を作成したのですが、各ページの表の一行目に機械名や日付などの項目のタイトルを入れて、一列目には機械の横に1から20まで番号を付けます。追加や削除があったときに簡単に一行削除や行追加ですむように各ページの一行目、一列目に常に同じ内容を印刷するにはどうすればいいんでしょうか? 一行目はページ設定の中の印刷タイトルを使ったんですが、列の方がよくわかりません。いい方法があれば教えてくださいよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- WORD2002で、縦26字×横20行に設定する方法を教えて下さい!
WORD2002で、縦26字×横20行に設定する方法を教えて下さい! ヘルプを見ても、ハッキリ対応したような箇所が見当たりません。 「文字の均等割り付け」だと、全選択でも、一行だけしか対応しません。 教えて下さい!
- ベストアンサー
- オフィス系ソフト
- ウインドウー画面がおかしくなった
vistaです。、覚えが無いのですがパソコンを立ち上げたらウインドウ画面が可笑しくなってしまいました。画面下部にあるべきスタートボタン、クイック起動ボタン、等の一行が画面の右端縦一列に表示するようになりました。システムの修復をこころみたのですが、復元の起点が当日のみになっていて、復元してみたのですが同じでした。右縦に並んだ下部にあるべきスタートボタンを元の横一列に戻すにはどうすればいいのでしょうか、大変困っています。
- 締切済み
- その他([技術者向] コンピューター)
お礼
とても丁寧にありがとうございます!まだ画像処理、c言語自体もほとんどわからない身ですが、理解する事ができました。 どうにかプログラミングを組んでみたいと思います! 8近傍のラベリングとはまったく違ったものですね; 厳しそうですが、今から頑張りたいと思います。 解決口を教えて頂いて大変助かりました。 本当にありがとうございました!