• 締切済み

DFD方式(Depth from Defocus)

ピントが合った部分と、ピンボケした部分の両方を持つ複数枚の写真から、 3次元形状を復元するプログラムを作ろうと考えています。 そこで、ボケ量の解析から奥行を求めることができる DFD(Depth from Defocus)方式を使えないかと思いました。 論文などを読んで、光工学のことを理解し、基本的な原理はわかったのですが、 実際にプログラムを組むとなるとどこから手をつければいいのかわかりません。 お手本にするために、DFD方式を用いて2次元画像から3次元形状を復元する ソースコード、プログラムを教えて頂けないでしょうか。 よろしくお願いいたします。 言語はC、C++、Javaだとありがたいのですが、特に問いません。

  • q07p
  • お礼率37% (3/8)

みんなの回答

noname#208507
noname#208507
回答No.1

中身まで確かめたわけではありませんが,参考URLにあるプログラムのソースコードはおそらく該当するのではないでしょうか.C言語で書いてあります.

参考URL:
http://www1.cs.columbia.edu/CAVE/software/softlib/raf.php
q07p
質問者

お礼

ありがとうございます。 これを参考にしてプログラム作成頑張ってみます。

関連するQ&A

  • javaの設定について

    vistaを使ってます。 jdkのバージョンは1.6.0_07です。 変数設定でPathの最後の部分に「;C:\program Files\Java\jdk1.6.0_07\bin」と加えたのですが、「javacは操作可能なプログラムとして認識されません」と出てしまいます。 いろいろ調べて試したのですがうまくいきません。 どなたかわかる方がいましたら教えてください。

    • ベストアンサー
    • Java
  • Windows用ゲームとMacintosh用ゲームの違い

    Windows用ゲームとMacintosh用ゲームではプログラムのどのような部分が違うのですか?Java言語ではコンパイラさえあればOSを選びませんが,C言語のソフトなどだと,MacintoshでWindows用ゲームを作ったりすることはできないのでしょうか?

  • JavaでPATH設定を修正する方法を教えて下さい

    Window7マシンにJava SE Development Kit 8(jdk-8u74-windows X64.exe)をインストールしました。 環境変数PATHの設定で、システム環境変数の中にすでに「Path」がありました。選択後の「編集」段階で最初から入力されている部分を消さないで最後のところに下記を追加すればよかったのですが、一部を消して編集してしまいました。 C:\Program Files\Java\jdk1.8.0_74\bin; これが原因してかどうか不明ですが、javacコマンドを実行してjavaソースプログラムをコンパイルすると、また「C:\>javac –version」とバージョン確認をしても、「'javac' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」のメッセージが表示されてしまい、コンパイルをすることもバージョン確認もできません。 因みに、javac.exe は、CドライブのProgram Files\Java\jdk1.8.0_74\bin にあり、次のようにしてバージョン確認をするとjavac 1.8.0_74と表示されて、バージョンが確認できます。 C:\Program Files\Java\jdk1.8.0_74\bin>javac –version インストールしたJava SE Development Kit 8 をアンインストールした後に、再度インストールして、PATHの設定・編集をしなおそうとしたのですが、アンインストール前に設定した PATH のままで修正はできませんでした。 次のように通常のjavacコマンドを実行してjavaソースプログラムをコンパイルするには、PATHの設定をどのようにすればよいかを教えてください。 C:\>javac Hello.java 或いは、PATHの修正ができない場合は、javaソースプログラムをコンパイルするには、どのようにすればよいかを教えてください。 尚、環境変数「JAVA_HOME」を、「変数名」を「JAVA_HOME」、「変数値」を「C:\java\jdk1.8.0_74;」として、JDKをインストールしたディレクトリに合わせて新規に設定していますが、コマンドプロンプトを起動し「set JAVA_HOME」と入力し実行したところ、JAVA_HOME=C: JAVA\ jdk1.8.0_74; と表示され、その後、「C:\>java –version」とjavaのバージョンを確認したところ、正常に確認できています。

    • ベストアンサー
    • Java
  • Java3D(アプレット)で作成した横置き回転スクリュー軸のパラメータ授受

    前回の質問「HTMLで設定したPARAM値(半径と高さ)を認識できず3Dで円筒表示しません」(QNo.4083743)に続いての質問です。 今回は、Java3D、アプレット方式にて、1つの円筒と2つのスクリュー(TriangleStripArrayを使い作成)で構成される横置きスクリュー軸を作り、更にRotationInterpolatorを使い回転アニメーションのプログラムソースを完成させました。(下記URLのNo1) 前回同様、htmlファイル側のパラメータタグ<param name=" " value=" ">でスクリューの内半径、外半径、長さ、巻数などの値を与えて、プログラム側initメソッドで getParameterを使いこれらデータを受けとり、スクリュー形状などを変えて表示させたいと考え、パラメータの授受部分をinitメソッド部分に加えました。(下記URLのNo2とNo3) ところが、今回もinitメソッドより先に形状作成部分、回転アニメーション表示部分が実施されてしまうのかNo1で表示されるようは表示できません。 No2は、形状作成部分にパラメータで授受すべき値の一部を与えて、「アプレットは初期化されていません」のメッセージは表示されないようにはしましたが、暗黒画面のみでスクリュー軸は表示されません。 No3は、形状作成部分にパラメータで授受すべき値全てを与えて、No1と同じように表示させましたが、これではパラメータからの授受にはなっていません。 前回は、lailai2580 さんに、java初心者の私が作成中の未完成プログラムソースに手を加えていただき、パラメータ授受させて表示するようにしていただきましたが、そのときの教えを応用させることができずに、今回も教えていただきたくお願いします。 下記サイトのNo3プログラムソース(Sample3D.java)で、どの部分をどのように改めればよいか、具体的に示していただきたく、よろしくお願いします。 URL: http://www.geocities.jp/java3dtest/QA03/question3.html

    • ベストアンサー
    • Java
  • 遺伝的アルゴリズムのクラスライブラリ

    遺伝的アルゴリズムについて、できるだけわかりやすく使いやすいクラスライブラリはないでしょうか? C++、できれば Java が良いのですが。 自分で1から作成しようかとも思ったのですが、遺伝的アルゴリズムは有名なので、みんなが使えるようなライブラリがすでに公開されているかも、と思いました。 もしあったら、自分はGA以外の部分のプログラムに集中することができますし。 できれば、使用感など教えていただけるとありがたいです。

  • javaでc言語を実行

    java初心者です 10年以上前にC言語で作成されたプログラムを,GUIの部分だけ JAVAで組み直したいと思っております そこで質問なのですが、例えばC言語で作成されたHELLO WORLDを表示するような 実行ファイルをJAVAで作成したボタンで実行が可能かどうか。 もし可能ならば、その方法について教えて頂きたいのですが よろしくお願いします

  • ArrayListの要素数の上限

    java で ArrayListの要素数の上限はいくつでしょうか? ネットで検索したところ C# の ArrayList は 2^32 - 1 のようですけど・・・。 たて、よこ 2^64 の巨大な実数値行列があって、これの固有値を求めるプログラムを作ることになっています。 最初は double の2次元配列で行列を作ろうと思ったのですが、double配列の要素数は 2^32-1 個が限界であきらめました。別の方法を探しているところなのです。 パソコンのメモリは24GBにしてOSも64bit Windowsにしたので java が対応できれば大丈夫かと思うのですが・・・ よろしくお願いします。

    • ベストアンサー
    • Java
  • 実行速度重視&GUIの開発環境

    現在学んだ言語はCとjavaです. linux上でGTKを少しかじって,現在はcygwinでjavaのGUIアプリケーションを勉強しています. 今回3次元データを解析するプログラムを作成することになったのですが,その際にGUIで表示・操作をしなくてはいけなくなりました. 出来ればwindows上で動作するものがいいのですが,linuxでも構わないと思っています. 最終的にはデータベースとの接続(とXOOPSとの連携?)を考えているので,その辺りも考慮していただければありがたいです. 開発環境の費用は特に問題ではないです.

  • java初心者です

    過去の質問をみて解決を試みましたが、ことごとくうまくいかないので質問させてください タイトル通りjava初心者です。専門用語など使わずに回答くださるとうれしいです まず自分のパソコン(windows7, 64bit)でjava, standard edition, JDKの64bit版をダウンロード&インストールしました インストールは正常に完了しました、と画面がでたのですが、ファイルを確認するとprogram files(x86)内ではなく、program filesにありました。何かのサイトで64ビット版をインストールするとprogram files(x86)のほうにインストールされると書いてあるのを読みましたが、これは正常でしょうか??? そしてpath環境を変更するとあったのでpathの末端に;C:\Java\jdk1.6.0_39\bin(インストールしたファイルの番号?がこれでした)をつけて変更したのですが、cmdでjavaと入力すればだーっと文字列が出るのですが、java-version, javac-versionと入力すると、内部コマンド及び外部コマンド、または操作可能なプログラム、またはバッチファイルとして認識できません、と表示されます。 ここから、どうしていいかさっぱりわかりません。 pathも何度か確認してみましたが、追加した部分に間違いはないように思います。ただ、pathのもともとあった文字列に(x86)という数字が含まれているのが気になります。 わかりにくくてすみません、、、 どうぞよろしくお願いします!!!

    • ベストアンサー
    • Java
  • Javaを使って、円を描きたい

    今までは、cを学んでいたのですが、動く画像を扱うならJavaだと聞き、まったくの知識もないままJavaに足を踏み入れました。 そして、自分でもいろんな本を見たり、HPを見たりして独学しているのですが、自分で、動くプログラムを組めるようなことを教えていただける本やサイトには巡り合えていません。 今考えているのは、ボールのような(普通の塗りつぶされた円でかまいません)円が、円運動の起動を描くプログラムを作ることです。 一見簡単そうなプログラムですが、いざ自分でやるとなると、参考となるものが見つけられません。 このようなコメントからもわかるように、ほとんどJavaのことはわかっていません。 画像さえ自分で動かせればいいので、後のWindowの部分などは、どこかのソースを参考にしていこうと思っています。 こんな私は、どのように勉強すればよいでしょうか。 かなり困っています。

    • ベストアンサー
    • Java