研究者への道 〜おすすめ本 vol.4 画像処理プログラミング編〜
2019.02.15
こんにちは、代表の大野です。
さて、今日は前回に続いて
画像処理のプログラミング編として
おすすめな本を紹介していきたいと思います。
前回は、画像処理の理論的なところの本でしたが
今回は、ハンズオン的に書籍に書かれた
画像処理のためのプログラムを
実際の書いて、実行してみることで
より理解の深まる実践本を紹介します。
これもまた、すべてわたしが読んで、こなして
よかった本のみを
ご紹介しますので、ぜひ参考にしてみてください。
<おすすめ本バックナンバー>
・研究者への道 〜おすすめ本 vol.1 C++入門編〜
・研究者への道 〜おすすめ本 vol.2 C++中級編〜
・研究者への道 〜おすすめ本 vol.3 画像処理 入門編〜
実践 OpenCV3 for C++(永田雅人/豊沢聡 著)
まずはイチオシからのご紹介です。
この本、めちゃくちゃいいです。
OpenCVの学習書籍の中では、
いままでこなした本の中で、一番よかったです。
基本的なことも、ちゃんと触れているし、
cv::Matの多重定義されたコンストラクタまわりだったり
サンプルプログラムも非常に充実しています。
おまけに、DFTやフィルタ処理
目検出や顔検出だったりが、
関数ごとに非常に詳しく書いてあるだけでなく
なんと実際にそのまま動かせるサンプルコードまで載っています。
(部分コードではない)
すごくないですか?
あんまり理解していなくても、コード参考にすれば
すぐに動く目検出プログラムだったりが、実装できたりしちゃいます。
この本からは、なんど目からウロコが落ちただろう
というぐらい、赤線が引いてあります。
(自分の中で本を読んでいて刺さった部分には赤線を引くタイプです)
詳解 OpenCV3 – コンピュータビジョンライブラリを使った画像処理・認識(O’REILLY)
はい、みなさんご存知のオライリー本ですね。
OpenCVやってて思うのは、公式ドキュメントはじめ
Webから拾える情報が薄すぎると思いませんか?
そんな時に、こちらの本が役に立ちます。
ただ、気をつけていただきたいのは、
これはOpenCVの辞書だと思ってください(笑)
「わーい、オライリーで勉強しよう」
といった軽い気持ちで、
この本を学習書籍として手を出すと
早々に心がバッキバキに折れてしまうでしょう。
ほかの学習書籍をやっていく中だったり
業務でOpenCVを使った開発をしていく中で
「これってどんな挙動だっけ?」
とか
「この関数の引数が意味不明」
という時には
その辺のOpenCVの学習書籍には
のっていないような
深ーいふかーい情報が
載っている書籍です。
なので、家庭に一冊、オフィスに一冊
そんな感じの書籍なんじゃないでしょうか?
わたしは、
detectMultiScale()
VideoCapture()
imencode() / imdecode()
あたりで
辞書としての使用で
かなりお世話になってきました。
もちろんオライリー本を、
1ページ目から
ラストまでじっくり読破できるツワモノは
ヒラ読みでも十分に勉強になります。
ただ、値段は見ないまま、レジに持っていってくださいね。
さらに進化した画像処理ライブラリの定番 OpenCV 3基本プログラミング(北山 洋幸 著)
こちらの本は、手始めにこれ
という感じではじめてもいいと思います。
書籍上に書かれているサンプルコードも豊富で、
購入した方にはもれなく
Webからサンプルコードをダウンロードできます。
たしか自分が最初にやった
OpenCVの本がこれだったような記憶があります。
入り口らへんでMatじゃなくUMatの説明が出てきて
突然迷子になりましたが(笑)
その辺を無視すれば、
なかなか勉強になる本かと思います。
C言語による画像処理プログラミング入門/C言語による画像処理入門(長尾智晴 著)
ここまでOpenCVの本ばかりでしたので
最後に、非OpenCV本をご紹介しておきます。
しかも2冊まとめてです。
横浜国立大学の長尾先生の書籍です。
さまざまな企業様との
共同研究&コラボをされている方のようで、
わたしも大変興味のある教授先生です。
さて、いまの時代であれば
画像処理をOpenCVでやるのは
当然中の当然でしょう。
あんな便利なオープンソースライブラリを
使わない手はありません。
しかしながら、
コンピュータがなぜ動いているのか
知らなくてもコンピュータを使えるのと同じで
OpenCVの裏側の処理がわからなくても
画像処理ができてしまいますよね?
もちろんそれでできてしまう範囲での
画像処理だといいんですが、
細かな調整だったり、
難解な画像処理の場合だと
OpenCVが行なっている裏側を理解しないと
パラメータ調整だったり
よりより処理への書き換えができないことに気づいてきます。
そんな事件が起きる前に(笑)
純粋なC言語だけで
画像処理を行うと、どう書けるのかが
サンプルコードを共に書かれているという
夢のような本です。
「マジか、OpenCVのあの関数の裏側は
こういった処理なのか」
とか、OpenCVでマヒしていた方は
目から鱗の一冊でしょう。
cv::Matどかーん
cvtColorぼーん
ってやっている方、
xとyの入れ子for文を
がんばって回して、
1ピクセルごとに計算している様子を
ぜひこの書籍で体感してみてください。
もうOpenCVに足を向けて
寝られなくなることでしょう ( ←どっちの方角だよ )
といったところで、
画像処理のおすすめ本紹介でした。
これから画像処理やる人も
画像処理を学び直したい方だったり
もっともっと画像処理の理解を深めたい方は
ぜひ参考にしてみてください。
先日OpenCV4.0がリリースされてまもないですが
まだまだ情報量が多いとは言えませんので
OpenCVを使いたい方で
学習過程の方は
OpenCV3系を使われるのが
よいかと思います。
みなさん、よい画像処理ライフを!
それでは。
↓↓↓ぜひチェックしてください
~提供中のヒューマンセンシング技術~
◆人物検出技術
歩行者・来店者数計測やロボット搭載も
https://humandetect.pas-ta.io
◆視線検出技術
アイトラッキングや次世代UIに
https://eyetrack.pas-ta.io
◆生体判定技術
eKYC・顔認証のなりすまし対策を!
https://bio-check.pas-ta.io
◆目検出技術
あらゆる目周りデータを高精度に取得
https://pupil.pas-ta.io
◆音声感情認識技術
会話から怒りや喜びの感情を判定
https://feeling.pas-ta.io
◆虹彩認証技術
目の虹彩を利用した生体認証技術
https://iris.pas-ta.io