• ベストアンサー

C言語のステップアップ

これまで、C言語、C++、Rubyの勉強をしてきて、だいたい200~300行ぐらいのプログラムは組めるようになりました。C言語で、これ以上の技術を身につけたいのですが、どのようにすれば良いでしょうか?オススメの方法とか、本とか、サイトとかあったら教えて下さい。お願いします。

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

  • ベストアンサー
  • rigidbody
  • ベストアンサー率60% (20/33)
回答No.3

習作として画像処理ツールを作ってみるのは如何でしょう?私が手をつけるとしたら、 ・Windows + VC++ を使い、MFCアプリケーションとして作る ・BMPファイル(最も単純な画像ファイル)の読み書きを実装 ・簡単な画像処理(グレースケール化、2値化等)を実装。メニュー選択等でその処理を行い、処理前/後を表示出来るようにする。 ・より高度な画像処理(エッジ抽出、bi/triリニアフィルタ、先鋭化、ノイズ除去等)を実装 ・他の画像ファイル(jpg,png等)の読み書きを実装 ・画像処理部分を静的ライブラリ化し、Windows以外の環境でも使えるようなソースを書く。 ・画像処理部分をDLL化。 こんな感じで少しずつきりの良い段階に分けて作っていきますねえ。他の環境(UNIX)でも似たように作るでしょう。 参考情報元は、自分で探した方が良いですよ。自力で解決する癖をつけると技術力が格段に増しますから。 頑張って下さい。

candlefire
質問者

お礼

詳しく書いていただいて本当にありがとうございます。上に書いてある中ではBMPファイルの読み書きぐらいしかやった事が無いので、これから勉強して行きたいと思います!!VC++は持っているので、いろいろと出来そうですね。もう少しレベルアップして挑戦してみます。 本当に参考になりました。ありがとうございました☆

その他の回答 (3)

noname#183335
noname#183335
回答No.4

ちょっとかっこつけた言い方かも知れませんが、「ソフトはあくまで何かを実現するための手段だという原点に還る」というのはどうでしょう? 画像処理をするのであっても、画像処理のアルゴリズムを覚えることが目的ではなく、「こんな風に画像を処理したい!」と思って、それを実現するためにアルゴリズムを調べたり、その実装方法を学んだりするのだと思います。 まずは、自分がほしいと思うアプリを考え、それを実際に作ることをオススメします。

candlefire
質問者

お礼

ご回答ありがとうございます。 なるほど~。確かにそうですね!画像処理に関してはほとんどまだ何も知らないので、何が出来るかもよく把握してないので、まずはそこからですね(^^;)。それが分かるようになったら、こんな事がしたい、というのも出てくるようになると思います。がんばります!

  • rigidbody
  • ベストアンサー率60% (20/33)
回答No.2

>どのようにすれば良いでしょうか? どんな分野のソフト開発に興味をお持ちですか? それに依って回答が異なります。

candlefire
質問者

お礼

ご回答ありがとうございます。画像処理の事に興味があり、大学院もそっち方面に進もうかと思っています。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

> C言語で、これ以上の技術を身につけたいのですが、どのようにすれば良いでしょうか? 2種類の方向があるかと思います。ひとつはC言語そのものを極める方向であり、もうひとつは特定の環境に特化した技術を身につける方法です。どちらか一方に絞るのではなく、並行して進めるとよいでしょう。 C言語そのものを極めるには、標準ライブラリを自分で実装するのが一番です。それができたときには、すべての標準ライブラリの仕様が把握できているわけですし、言語仕様のかなり細部まで使いこなせるようになっているはずです。 特定の環境の技術については、まず環境選びから入るしかありませんね。

candlefire
質問者

お礼

ご回答ありがとうございます。標準ライブラリの実装ですかぁ。なるほどー。がんばってみます。これからの環境としては画像処理の事をやって行きたいと思っています。

関連するQ&A