質問: プログラマの皆様にご相談したいことがあります。 この場をお借りして書かせて頂きます。 最初はpcのデータシートから カメラの映像のメモリに働けるC言語プログラムを書きたいと考えていました。 問題はosが絡んでくるためデータシートを見るだけでは意味がないという事です。 opencvの関数を調べて標準ライブラリ関数にしていますが、なんだか答え合わせをしているだけでつまらないと思ってしまうことが多く憂鬱です。 一から、せめて標準ライブラリ関数からpcのカメラにアクセスしたり、カメラの映像と保存した画像を比較して検出したりしたいのですが、自頭が悪いため何も出来ません。 私は自分で自作できないものを使うのを嫌います。過去の質問でもcmakeやvsを使いたがらなかったのは一生かけても自作出来ないと思った為です。 大変くだらない理由ですが。 プログラミングは大好きですが、なんだかモチベーションが下がるばかりで悲しくなります。 所詮、自分は誰かの作ったツールを使うことでしか、作りたいものを作れないと思うと虚しくなります。 ツールを使いこなせていませんが。 opencvを使うにしても、一からLinuxなどのosを考慮した画像処理のプログラムを作ってみたかったです。何を参考にしてよいかはわかりません。 できもしない事を考える毎日がとてもしんどいです。 ここは質問するサイトなので低評価がつくのは仕方ありません。 今も標準ライブラリ関数の使い方を勉強していますが、何か違うのではないかと思ってしまいます。 エンジニアの方がどうやってopencvのような画像処理ツールを一から作ったのか興味があります。 osを考慮しながらハードウェアのデータシートやアセンブリ命令から画像処理特有の関数を作っていきopencvができたのかななんて事を考えています。エンジニアはどうやって普段から無いものを元からあるアセンブリ命令や標準ライブラリ関数で作ったのかわたしには見当もつきません。それ故に誰かが作ったものや、ここで皆様の力を頼りにしてばかりいます。 数年前はfpgaで画像処理やカメラアクセスなども自作しようと考えたのですが、金銭的な問題や技術的に限界があったため断念しました。 やりたいことはたくさん出てくるのに何から始めればよいかわからず困り果てています。 <編集4/24> あの解答していただいたエンジニアの皆様は学生時代はどのように送られていたのでしょうか? 学生時代で学んでいた時期と会社に就職した後で学んだこと、どちらが勉強になることが多いでしょうか? また、自分で解決できないときは上司の方に相談できたのでしょうか? 私個人として大学には行っていませんが、大学生活で学べることは時間的な意味で短いと思います。そのため学べることに限界があると思います。 なので就職した後のほうが勉強なることが多かったり、大学や専門学校で学んでいた時よりも勉強になることやスキルアップにつながることが多いのではないかと思い質問しました。 また、会社の仕事とは別に個人で作りたいものがある際に壁にぶち当たった時、会社の人間や同僚にアドバイスなどを問うことはあるのでしょうか?あるいはそのような経験はありますか? どうかよろしくお願いいたします。
回答: > > 私は自分で自作できないものを使うのを嫌います。 > > > どこかで妥協して下さい. 先人たちの成果にタダ乗りするのが嫌であれば, まずは「0」や三平方の定理を発明し, そこから**2000年掛けて**離散フーリエ変換理論を完成させて下さい. (つまりは**不可能**です) と言うくらい, 現在の情報理論は高度な数学的・工学的な知識・経験の積み重ねの上に成り立っており, 皆その恩恵に預かっているのです. ですから, 先に進みたければどこかで妥協した上で, 見様見真似でいいですから自分で何かしらを作り上げる努力をすべきです. > > エンジニアの方がどうやってopencvのような画像処理ツールを一から作ったのか興味があります。 > > > まず, 数学者が基礎理論を論文として発表し, その内容の確からしさ・有益性が確かめられた後にその応用としてハードウェアが設計され, ソフトウェアエンジニアが設計書を描き, その内容に従ってプログラマーが逐一コーディングすることで作られています. その際には日進月歩で更新されていく理論の高度化を加味してインクリメンタルに少しずつ新たに機能を追加していきますから, いわば**人類が画像処理ツールを作り上げた**のであり, 換言すれば**誰か一人の手によって作られたわけではありません**.