• ベストアンサー

どの環境・言語を選択すべきでしょうか?【画像処理・ハフ変換】

工学系(化学)の大学生です。 開発環境・言語の選択に関してアドバイスを頂きたいと思い質問を投稿させて頂きます。 この度卒業研究を進めるに当たって多量の画像処理を行う事になりました。一枚一枚の処理は単純なのですが全体ではとても手でこなせる量ではなくコンピューター上で自動的に行いたいと考えています。 以下に参考になりそうな事柄を挙げました。こちらを基に、今後どのような開発環境・言語を選択して開発を行っていけばいいかアドバイスをいただければと思います。必要事項等ありましたら随時補足させて頂きます。 それでは、どうぞよろしくお願いいたします。 【処理内容】 ・画像から複数の円の半径を抽出*数百枚 ・得られたデータを統計的に処理、グラフ出力まで (現時点ではハフ変換の考え方をベースにしたプログラムを組もうと考えています。) 【開発に当たっての条件・希望】 ・実際に処理を行うに当たってプログラムを回すのはは自分のPCでなく大学の情報処理インフラを使おうと考えているので処理速度等の優先順位は低い ・自分以外の人間が今後アップデートを行う可能性がありできるだけ広く認知されている開発環境と言語を使いたい ・できれば無料で… 【スキルなど】 ・企業の研修のようなもので4つほど簡単なアプリケーションを作成しました(一ヶ月、Borland Delphi) ・授業の一部分でいくつかの極めて簡単なプログラムを組みました(c言語) 上二つで得た知識はほとんど残っていません。プログラミングの雰囲気はなんとなくわかる初心者、位に思っていただければと思います。

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

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

ハフ変換についてはわからないけれど・・・ >できるだけ広く認知されている開発環境と言語を使いたい >できれば無料で… 「大学の情報処理インフラ」で「処理速度等の優先順位は低い」と言うのはどういう意味かわからないけれど・・・ windows環境で言えば、現状なら Visual Studio Express Edition はどう? Visual C++、Visual C#、Visual Basic、どれでもタダだし、多分一般的だろうし・・・ C++なら、「ハフ変換 円」でgoogleしたら、 http://homepage3.nifty.com/ishidate/vcpp05_g15/vcpp05_g15.htm とか、参考になりそうな物も多そうだし(内容についてはわからないけど)・・・

sol_gel
質問者

お礼

ご回答ありがとうございます。 >「大学の情報処理インフラ」で「処理速度等の優先順位は低い」と >言うのはどういう意味かわからないけれど・・・ 大学が所有している高速の処理システムを使うことができるということで、開発環境や言語に由来する処理速度の速さなんかは特に必要ない、ということです。 >windows環境で言えば、現状なら Visual Studio Express Edition は >どう? 質問投稿前から自分でも調べていたのですがfumufumu_2006さんのおっしゃる環境が有力なのではないかな…なんて実は考えていました。 参考URLの方も是非参照させて頂きたいと思います。 改めまして、ご回答ありがとうございました。

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

その他の回答 (1)

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.2

仕事で画像処理をやっている方がいましたが、C++でしたね。メジャー言語で、処理スピードも問題なく、ライブラリーも豊富ってことですし、WindowsからUnixまで、どこでも動作させたいって思うと、やっぱりC++になるのではないでしょうか?無料っていう面でも合格。 開発環境は、大学ってことで、当然ながらLinux、場合によってはSolarisってことでは?Windowsって選択もあるでしょうけど、ちょっと初心者っぽくみられてしまうと思えます。 あと、画面のユーザインタフェースや、ちょっとしたデータベース処理を手軽にやりたいとき、Delphiって選択もあるわけですが、なにせ、Delphi7以降は、「え、もしかしてこれって詐欺?あまりじゃない!」と思われる状態ですし、言語がObject Pascalってマイナーですからね。 現状のスキル的に見たら、C++を選択すると、先は長くなるわけですが、まあ仕方ないですね。腰をすえてがんばりましょう。

sol_gel
質問者

お礼

ご回答ありがとうございます。 >メジャー言語で、処理スピードも問題なく、ライブラリーも豊富ってこと >ですし、WindowsからUnixまで、どこでも動作させたいって思うと、 >やっぱりC++になるのではないでしょうか?無料っていう面でも合格。 素晴らしいですね!笑 条件から考えるとNo.1の方のご回答にもありました通りC++を使っていくのがいいような気がします。 >開発環境は、大学ってことで、当然ながらLinux、場合によっては >Solarisってことでは?Windowsって選択もあるでしょうけど、 >ちょっと初心者っぽくみられてしまうと思えます。 プログラムを組むということ自体は研究の本筋から少し外れるところですので処理さえできちゃえばそれでOKかなと思っています。 時間の制約もあるし初心者…は今更どうにもならないところなので笑、Windows環境でも実現可能であるなら馴染みのあるWindowsを使って開発を進めるのがベターなのかなと思います。 改めましてご回答ありがとうございました。

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

関連するQ&A

  • 画像情報処理についてです。(Hough変換です。)

    お忙しいところ申し訳ありません。大学の工学部の学生の者です。 大学の「画像情報処理」の講義で次のような課題が出題されました。 1.「画像内に平行な2直線が存在する。その2直線の中心に位置する直線を検出するアルゴリズムを考案せよ」 2.「画像内に中心の位置を同じくする幾つかの円と、それらの円と中心位置が異なる円が存在する(それらは交わっていない)。この時、中心の位置を同じくする幾つかの円の中心位置のみを検出するアルゴリズムを考案せよ(即ち、同心円でない円の中心は検出しない)。」 Hough変換を用いればいいというのは何となく分かるのですが、具体的なアルゴリズムが分かりません。 教えて頂けると幸いです。

  • ハフ変換(Hough変換)の原理について

    現在、ハフ変換の原理について下記サイトなどを参考に調べていますが いまいち原理がよくわかりません。 そこで2つ質問があります。 http://www.allisone.co.jp/html/Notes/image/Hough/index.html 【質問1】  ハフ変換の原理は以下の認識であっていますでしょうか。 [直線を検出するハフ変換の原理] 10個のピクセルで構成される画像があり、各々のピクセルの座標を (x1, y1)、(x2, y2)、(x3, y3)・・・(x10, y10) とする場合。 また、画像上の直線の式は p = xcosθ + ysinθで表すことができるため、 様々なpとθの組み合わせの式を作成(例えば下記3つの式) (1) 2 = xcos10 + ysin10 (2) 4 = xcos20 + ysin20 (3) 6 = xcos30 + ysin30 (1)の式に10個のピクセルの各々の座標(x1, y1)、(x2, y2)・・・(x10, y10) を代入 → 2つのピクセルの座標が(1)式を満たす 同様に(2)の式に10個のピクセルの各々の座標を代入 → 8つのピクセルの座標が(2)式を満たす 同様に(3)の式に10個のピクセルの各々の座標を代入 → 3つのピクセルの座標が(3)式を満たす (2)式を満たすピクセルが多数存在するためこの画像には 4 = xcos20 + ysin20 で表す直線が存在する 【疑問2】 上記の認識でよい場合、もう1つ疑問があります。 直線の式 p = xcosθ + ysinθ において様々な(p, θ)の組み合わせの式を作成 することになると思うのですがその(p, θ)はどのように決めるのでしょうか。 考えうる限りすべての(p, θ)の組み合わせの式を作成するとものすごい量の 種類の式ができると思います。これをプログラムで行うとハフ変換はかなり 重い処理ということになるのでしょうか。

  • 画像変換処理に使用するプログラミング言語

    プログラミング初心者です。 画像変換処理をプログラムしようと考えているのですが、JavaやC#など画像処理に向いていると思われる言語の種類が多くてどの言語でプログラムを組もうか迷っています。 経験者の方、是非ともアドバイスをお願いします。 具体的な画像変換処理ですが、画像を直交座標から極座標へ変換するといったことです。つまり、アスペクト比3:4等の画像を円形に変換したいのです。 使用する予定の言語はJavaを考えています。これを選択した根拠は特にないです。 質問事項としては、 (1),上記のような画像変換処理を行える言語は何か。 (2),(1)の中でプログラミング初心者が扱いやすい言語はどれか。 以上を教えていただきたいです。何卒、宜しくお願い致します。 P.S.添付データは、直交座標の画像で極座標変換を行った画像です。ちなみにGIMPというフリーソフトを使用しました。

  • 使用する言語(画像処理)

    現在大学で情報系の研究を行っています。 「画像ファイルを読み込んでエッジを検出、エッジのラインで囲まれている部分を一つの領域として取得する」というプログラムを作りたいと思っています。 かなり分かりにくい説明だとは思うのですが、例を挙げますと・・・ 世界地図をスキャナで読み込む ↓ 取得した画像ファイルをプログラムに読み込ませる ↓ 各国の輪郭をエッジとして検出、輪郭以外は真っ白にしてモノクロ化 ↓ エッジで囲まれている部分(国の領土)をそれぞれ一つのオブジェクトとして認識できる。つまり、一枚の画像としてではなくそれぞれの国の領域を持つオブジェクトとして保持することができるようにする。 このようなプログラムを書きたいと思っています。しかし現在はC言語の知識しかなく、他にVisualBasicやJava、C++なども考えていますがどの言語がこのような処理に適しているのか分かりません・・・ どの言語でも書こうと思えば書けるものなのでしょうか?それともそれぞれの言語に得意分野があるのでしょうか?

  • c言語の画像処理プログラム

    画像処理を勉強している初心者です。これからいろいろな画像処理を勉強していく予定ですが、もっとも基本のc言語で画像を表示させる方法がわからないですが、プログラムのソースとやり方を詳しく教えていただけませんか?

  • 開発言語の選択

    新しくWindowsアプリケーションや、Webアプリケーションを構築するのにVisualStudio.Netを利用しようと思っています。しかしこの統合開発環境にはVB.NET、C++.NET、C#、J#等さまざまな言語が利用可能となっており、どの言語を使うべきなのか悩んでおります。 普通はどのように開発言語を選択するものなのでしょうか? もしもそれぞれの言語ごとに明確な違い、得意分野や、パフォーマンス(実行速度)の差があるのでしたら、開発言語選択の指標となりますので是非教えてください。

  • 画像処理

    IrfanViewという画像表示ソフトを使ってVisual cでc言語画像処理のプログラムを実行して処理した画像を表示させたいです。プログラムのソースともとの画像があるのですが、どのようにすれば、もとの画像がどこにあれば処理できるかわからないです。詳しく教えていただけませんか?osはwindows xpです。

  • 画像処理をしたいのですが・・・。

    C言語でjpgなどの画像データを扱って モード法やエッジを表したりなどの画像処理をしたいのですが、 どうやってプログラムをくめばいいのか分かりません。 どのたかプログラムを書いて教えてくれませんか?

  • プログラミング言語で環境

    こんにちは。 COBOL言語の総合開発環境はあるのでしょうか?? COBOL言語を紙面で勉強したことはあるのですが、 プログラムとしてコンピューターに打ち込んだことはありません。 また、勉強したのですがおすすめがあれば教えてください。 ※ ちなみにC言語の勉強するお勧めは[visual studio]ですよね??

  • 画像処理についてですが・・・

    今、画像処理をやっている最中なのですが、C言語を用いて画像の原点を任意の点へと移動する方法がわかりません。 画像処理の場合は、数学の原点と違い画像の隅が原点ということは知っているのですが、その原点をC言語を用いた場合はどのようなプログラムにすれば良いのでしょうか? どうか教えてください。お願いします。

修学旅行について
このQ&Aのポイント
  • 高校三年生の修学旅行について考える
  • コロナ感染の心配やテスト期間との兼ね合いから不安
  • キャンセルによるお金の問題やイベント中止の可能性について
回答を見る

専門家に質問してみよう