• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ゼロ交差法でプログラミングをしたのですが、)

ゼロ交差法でエッジ検出ができない問題

このQ&Aのポイント
  • ゼロ交差法を使用してプログラミングをしているが、適切な閾値、分散、フィルタの大きさを設定する方法が分からない。
  • 現在、double型のscaleに200、double型のthに128、int型のmsizeに1を設定して実験しているが、エッジ検出が成功しない。
  • 240×320のやや小さめの画像を使用しているが、一般的にどのような値を設定すれば良いのか分からない。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

thはわからないけど、scaleとmsizeはソースを見たところガウシアンフィルタのパラメータですね。 フィルタの一辺がmsizeで、レートの値の分母が(2 * scale)の二乗のような感じです。 ガウシアンフィルタならだいたい (1) msize = 3 の時、scale = 2 (2) msize = 5 の時、scale = 8 という感じかな。 thは単なるエッジ強度の閾値だから、結果を見ながら適当に調整してください。

momokotug
質問者

お礼

こんばんは! 回答ありがとうございました! その通りにやってみたのですが、どうもうまくいきませんでした。 おそらく、私のプログラム自体に間違いがありそうなので 別途質問するかもしれません。その際何かお気づきの点があればご教授ください ご回答ありがとうございました!!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

#1です (2 * scale)の二乗じゃなくて、scaleの二乗みたいですので、以下のように訂正します。 (1) msize = 3 の時、scale = 4 (2) msize = 5 の時、scale = 16 間違ってたらごめんなさい。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ImageJのマクロ機能について

    ImageJというソフトのマクロ作成についてです。 ある撮影点から1時間毎に同じ地点を撮影し、その写真(1日につき24枚)を解析しています。 RGBを用いた閾値処理を施しているのですが時間によって設定したい閾値が異なります。 そこで、写真のある範囲を指定しその範囲内のRGB値を計測。そのRGB値によって使用する閾値設定を選択させたいと考えています。 RGB値を計測するまでは良いのですが、それ以降のRGB値による場合分けをマクロ内で表現することができず立ち往生しています。 ifを用いて、例えばR>100 かつ G>100 かつ B>50 ならば閾値設定1を使用する。といったことができれば・・・と考えていますが どのようにすれば計測しResults画面に表示されたR,G,Bの値を調べてくれるのかが分かりません。 どなたかご教授いただければ助かります。

  • IE11で.urlファイルが開けない

    こんばんわ。 Windows10(TH2)のホームエディション(64bit)にAnniversary Update(1607)を行い特にエラーもなく完了しました。 TH2まではIE11では任意のフォルダに貯めてあったインターネットサイトのショートカット(.urlファイル)をダブルクリックすればIE11が起動してサイトを開いてくれました。 ※極々当たり前の挙動です しかしAnniversary Update後は、IE11は一応起動しますがサイトが開かずブランクページが表示されます。 以下確認したこと… ・IE11の標準のお気に入りフォルダに保存してある.urlファイルなら正しいページ表示可能 ・IE11の拡張保護モードをオフにすれば任意のフォルダにある.urlファイルでも正しいページ表示可能 ・.websiteファイルなら任意のフォルダにあっても正しいページ表示可能 ・任意のフォルダにある.urlでもedgeを標準ブラウザに変更すればedgeが起動して正しいページ表示可能 どうやらIE11の拡張保護モード又はお気に入りフォルダの扱い(アクセス許可)がAnniversary Updateで変更され任意のフォルダにある.urlファイルが使えなくなってしまったようです。 かと言って拡張保護モードをオフにして使うのも気持ち悪いし、各フォルダに散らばっている.urlファイルを今更お気に入りフォルダに集めるのも面倒(というか管理上不都合有り)なため仕方なくTH2へ戻しました。 皆さんも同様の現象なんでしょうか? 皆さんも同様の現象なら仕様として諦めますが、もし回避策があれば教えてください。

  • javaのpixelの色の指定に関して

    javaの色に関して質問します。 現在PixelGrabberで取得したpixelの中である条件を満たすpixelを指定の色に変換するプログラムを書いているのですが、自分が指定している色と実際に出力される色との違いに悩んでいます。 私が調べた範囲の理解だと pixelはint形式で上の桁から1バイトずつα値(透明度),R,G,Bと表現していると考えています。そこで黒と白を 白=0x00ffffff 黒=0x00000000 と指定しているのですが、真っ黒になってしまいます。指定した色で塗るために知恵を貸してください。お願いします。 ----------------実際のアルゴリズムとデータ---------------- ある閾値よりも濃い色→黒 そうでなければ   →白 この値をintの配列にいれ直す 配列からMemoryImageSorceを作る。 bufferedImageに変換して ImageIOのwriteメソッドで書き込む。 ---------------------------結果--------------------------- 添付の画像 グレースケールっぽい画像を二値化

    • ベストアンサー
    • Java
  • LaTeXでPDFファイルを読み込ませる

    LaTeXの話ですが、画像の読み込みでEPSやPNGだとオプションに、例えば、[scale=0.5]などと指定すれば縮小されます。ところが、PDFで同じようにやると本来の画像が全体的に縮小されるのではなくて、左下の部分のみがトリミングされた状態で表示される形になってしまいます。 プリアンプルに\usepackage[dvipdfm]{graphicx}として、\includegraphics[scale=0.5]{sample.pdf}という形で読み込んでいます。

  • 開発環境 Microsoft Visual C# 2010 

    開発環境 Microsoft Visual C# 2010  現在レーダーチャート作成中なのですが、X軸とY軸の最大値と最小値を100と指定したいのですが、プロパティのChartAreaのAxes(軸)のスケールのMaximumとMinmumで指定すればいいと思ってのですが指定ができません。 ここで指定するのではないのでしょうか? もう一つお聞きしたいのですが指定されたx軸とY軸の値に対して+10されて表示されるのですが0で表示したいですがスケールのLogarithmBaseで設定すればいいのではと思ったのですが0で入力ができません。 0では表示できないのでしょうか? もしくはここで設定するのではないのでしょうか? お手数ではございますが、ご回答いただけますようよろしくお願いします。

  • Illustraotrのスポイトスールについて

    お世話になります。 Photoshopで作成した特色やグレースケールの画像をIllustratorへ配置した際、 画像をスポイトツールで選択すると、カラーウィンドウではCMYKの数値で標示されてしまします。 Photoshop上ではグレースケールやダブルトーンで色設定し、チャンネルにもよけいな色は残しておりません。 それをEPSで保存しております。 それなのに、スポイトで拾うとCMYKになってしまうのは何故でしょうか。 EPS画像の色指定がちゃんとしていれば問題ないのでしょうか。 ご回答、よろしくお願いします。

  • プログラミングでの画像の生成について・・・・・・・・

    任意の画像をfと呼び,座標(x,y)における画像fの輝度値を(R(x,y),G(x,y),B(x,y))と呼ぶことにします。 以下の処理を行うプログラムを作成してください。 1,画像fの明るさがm分の1になった画像h1(x,y)=(R(x,y)/m,G(x,y)/m,B(x,y)/m)を生成する。 ここで,mは0<m<10の範囲にある任意の整数である. 2,画像fから法256の画像h2(x,y)=((n×R(x,y))mod(256),(n×G(x,y))mod(256),(n×B(x,y))mod(256))を生成する。 ここで,nは任意の正の整数である. *printfとscanfを使用するためにインクルードする*/ #include<stdio.h> /*ビットマップ画像を扱うためのヘッダ*/ #include<Dll_BMP_C.h> //画像ファイル名最大長(バイト) #define NAME_SIZE 101 int main(void) { int j,k; /* nWidth:画像の幅、nHeight:画像の高さ、nVal:輝度値*/ int nWidth,nHeight; /*pcFileName:画像ファイル名を保存する配列*/ char pcFileName[NAME_SIZE]; /*pBmpOrig:読み込んだ画像へのポインタ pBmpCopy:複製した画像へのポインタ*/ DllBmp*pBmpOrig,*pBmpCopy; /*読み込む画像のファイル名を指定する*/ printf(“読み込む画像”); scanf(“%s”,pcFileName); /*画像を読み込みメモリに保存する 読み込みに失敗したら実行を中止する*/ pBmpOrig=DllBmpReadImage(pcFileName); if(pBmpOrig==NULL) { printf(“画像の読み込みに失敗! 実行を中止します\n”); exit(1); } /*読み込んだ画像のヘッダ情報を表示する*/ DllBmpShowHeader(pBmpOrig); /*読み込んだ画像の大きさを得る*/ nWidth=DllBmpGetWidth(pBmpOrig); nHeight= DllBmpGetHeight (pBmpOrig); /* 画像を生成する */ for(j = 0; j < nHeight; j++) for(k = 0; k < nWidth; k++) { DllBmpSetPixelValueR(pBmpOrig, j, k, 255); DllBmpSetPixelValueG(pBmpOrig, j, k, 255); DllBmpSetPixelValueB(pBmpOrig, j, k, 255); } /*保存する画像のファイル名を指定する*/ printf(“保存する画像”); scanf(“%s”,pcFileName); /*画像を保存する 保存に失敗したら実行を中止する*/ if(!DllBmpWriteImage(pcFileName,pBmpOrig)); { printf(“画像の保存に失敗! 実行に中止します”); exit(1); } /*画像をメモリから消去する*/ DllBmpDleteImage(pBmpOrig); return 0; } 剰余は%演算子を使って求めることができると思うのですが・・・。。 処理内容を選択できて、mとnの値を指定できるように作りたいのですが・・・・・ 何かアドバイス的なものをすみませんがよろしくお願いします。

  • 全体に対する特定領域の面積

    photoshop等の画像処理ソフトを使って, 全体の画像面積に対する, マウスで自由に指定した任意の範囲の面積の比 を見出すには何か方法はありますでしょうか? つまり知りたいのは実際の面積の値ではなく, 全体に対する,任意の小範囲の面積の「割合」です. 過去の質問を見てもこれといった回答が出ていないようなので, 改めて質問させていただきます

  • エクセル VBA セル範囲を指定

    functionプロシージャを作ろうとしてます。いわゆるユーザ定義関数です。 エクセルの関数でSUMが用意されており、SUM(セル範囲)のように書けば合計を返します。 同じようにセル範囲の指定を受けて計算結果を返すfunctionを作りたいのです。 function example(セル範囲 As double,・・・) As double 任意の範囲を指定して、その値を使って計算したいのです。 ・セル範囲の書き方というか、フォーマットの書き方 ・プロシージャ内で計算に使うために配列に読み込む方法

  • 換算した数値の単位の設定について

    製品評価の試験において,その結果を表やグラフに書き表す際に, 評価に使用される試料の質量(グラム)を,キリのいい数字に変換しています. 例えば,試験体質量に対して,合否基準となる閾値を±5%とした場合, その質量を200,閾値は190~210というように換算し, 実測された値も同様の比で換算した上でグラフ上に書き表します. ただ,この変換された数値に対してはどういう単位を使ったらいいのかが判りません. 現段階ではdiv.(ディヴィジョン)という単位を設定して用いているのですが, 本来の英語の意味である,「区分」や「部門」といったものに照らし合わせると, 非常に違和感を覚えます. 無次元数のようでもあり,一方で百分率のようなものでもあるのですが‥‥.

FAX送受信できず困っています
このQ&Aのポイント
  • PX-M780Fを使用していますが、FAX送受信ができません。
  • 通信エラーが発生し、送受信ができない状況です。
  • EPSON社製品であるPX-M780FのFAX機能に問題があります。
回答を見る