OpenCV による画像処理入門 改訂第 3 版
オープンシーヴィニヨルガゾウショリニュウモンカイテイダイサンハン OPENCV3
- 著者:
- 小枝 正直 / 上田 悦子 / 中村 恭之(コエダ マサナオ / ウエダ エツコ / ナカムラ タカユキ)
- 出版社:
- 講談社
- 出版日:
- 2022年12月08日
- ISBN:
- 9784065301173
- シリーズ:
- KS 情報科学専門書
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
◆◆3 言語 (C 言語、C++、Python) 対応で、「画像処理の基本」が身につくと、大好評のテキストの改訂版!◆◆
・OpenCV4.5 に対応し、さらにパワーアップ!
・基本アルゴリズムとサンプルプログラムが豊富で、いますぐできる!
・理論と実践のバランスがよく、初学者に最適!
・全編をフルカラー化し、デザインも一新!
・練習問題を解いて理解度アップ!
・Windows だけでなく、Mac でのインストールにも対応!
【「まえがき」より】
本書は, 理数科高校生, 工業高等専門学校生, 大学学部生などを対象とした講義用教科書としての利用を想定し, 基本的かつ汎用性の高い画像処理アルゴリズムを選定して解説した.また初学者が独学でも学べるように, 開発環境の構築方法, トラブルシューティングなどの詳細な手順を載せている.本書ではまず, 画像処理アルゴリズムについて解説し, 内部で行われる処理が十分に理解されることに重点を置いている.その後, C 言語での実装例を並べて表記し, 各アルゴリズムがどのようにコーディングされるのかを解説する.さらに, OpenCV の関数を用いたプログラム (Python,C++ 言語) も併記し, OpenCV の利用方法を説明する.
今回, 第 3 版に改訂するにあたり, 読者からのさまざまなコメントや, 我々が本書を用いて講義してきた経験をもとに, 内容の理解がより促進されるように章立てを整理し, 読者がより興味を惹くような内容に変更した.執筆時点における最新の開発環境に対応するため, OpenCV4 系を採用し, Windows11 と macOS 上での開発環境の構築について詳細な解説を加筆した.さらに, OS に依存しない Google Colaboratory を用いたプログラム作成方法も加筆した.一方, 情報処理技術者試験の試験要綱が 2022 年 4 月から更新され, 擬似言語の記述形式が大幅に変更され, プログラムの記述方法が C 言語と同等になった.そのため, 第 2 版まで記載していた古い記述形式の擬似言語を用いたプログラムは削除することにした.
【おもな内容】
1 章 画像処理と OpenCV
2 章 OpenCV の導入
3 章 画像入力装置と静止画・動画フォーマット
4 章 デジタル画像と配列
5 章 色空間
6 章 濃淡変換
7 章 フィルタ処理
8 章 2 値画像処理
9 章 複数画像の利用
10 章 幾何学変換
11 章 距離画像処理
付録 A OpenCV の描画系関数
付録 B OpenCV をソースからビルドする
付録 C OpenCV メインモジュール概説
姉妹書『OpenCV によるコンピュータビジョン・機械学習入門』も好評発売中!
技書の森解説
画像処理のアルゴリズムが中で何をしているかを理解してから、ライブラリで使えるようになる。その順序で学ぶための教科書です。『OpenCV による画像処理入門 改訂第 3 版』 (小枝正直、上田悦子、中村恭之 著、講談社、2022 年 12 月発行) は、基本的で汎用性の高い画像処理アルゴリズムを、C 言語での実装例と、OpenCV の関数を使った Python と C++ のプログラムを並べて解説する入門書です。版元は内容紹介で「3 言語 (C 言語、C++、Python) 対応」とうたい、OpenCV 4.5 に対応してフルカラー化した改訂版と案内しています。
全 11 章と付録 3 本、画像処理と OpenCV の概要から距離画像処理まで
第 1 章「画像処理と OpenCV」はヒトの視覚と画像処理、コンピュータビジョンの関係を整理し、第 2 章「OpenCV の導入」は Windows、Mac (macOS)、Google Colaboratory の 3 通りで開発環境を整えます。第 3 章「画像入力装置と静止画・動画フォーマット」と第 4 章「デジタル画像と配列」で画像がデータとしてどう表されるかを押さえ、第 4 章の後半には C++ 言語と Python それぞれの OpenCV ひな形プログラムの節があります。第 5 章「色空間」、第 6 章「濃淡変換」、第 7 章「フィルタ処理」、第 8 章「2 値画像処理」はアルゴリズムを順に積み上げる章で、平滑化、エッジ検出、鮮鋭化のフィルター処理、2 値化処理、膨張 / 収縮処理、ラベリング処理などが並びます。第 9 章「複数画像の利用」は背景差分やフレーム間差分、第 10 章「幾何学変換」はアフィン変換と射影変換、第 11 章「距離画像処理」は TOF 型カメラとパターン投影型カメラを取り上げます。付録は「OpenCV の描画系関数」「OpenCV をソースからビルドする」「OpenCV メインモジュール概説」の 3 本です。
C 言語で中身を書き、OpenCV の関数で使う二段構え
画像は画素の値を並べた配列です。平滑化やエッジ検出のフィルター処理は注目する画素の周りの値に重みを掛けて足し合わせる計算として、2 値化はしきい値との比較として、膨張と収縮は近傍の画素どうしの論理演算として書けます。OpenCV を使えばこうした処理は関数を 1 つ呼ぶだけで済みますが、カーネルの大きさや画像の端の扱い、しきい値の選び方が結果をどう変えるかは、中で何が起きているかを知らないと判断できません。本書は、まずアルゴリズムを解説し、次に C 言語 で配列を直接たどる実装例を示し、そのうえで OpenCV の関数を使う Python と C++ のプログラムを併記する順で進みます。楽天ブックスの書誌に載る「まえがき」の抜粋も、内部で行われる処理が十分に理解されることに重点を置くと説明しています。
改訂第 3 版で変わった点
同じ抜粋によると、第 3 版では読者のコメントと著者らの講義経験をもとに章立てを整理し、OpenCV 4 系を採用して Windows 11 と macOS 上での開発環境の構築を詳しく加筆し、OS に依存しない Google Colaboratory を使ったプログラムの作り方も加えました。また、情報処理技術者試験の擬似言語の記述形式が変わったことを理由に、第 2 版まで載せていた古い記述形式の擬似言語のプログラムは削除したと述べています。版元はフルカラー化を、楽天ブックスの書誌は練習問題の収録も改訂版の特徴として挙げています。
高校生から学部生の講義用、独学にも向く教科書
まえがきの抜粋は、理数科高校生、工業高等専門学校生、大学学部生などを対象とした講義用教科書としての利用を想定し、初学者が独学でも学べるよう、開発環境の構築方法やトラブルシューティングの詳しい手順を載せたとしています。版元のページも、教科書としての利用を想定した書籍と表示しています。C 言語の配列とループを読めると実装例を追いやすくなります。一方、目次は濃淡変換やフィルター処理などの古典的な画像処理と距離画像までで構成されており、学習済みのモデルを使った物体の検出や認識が目的なら別の本を当たる必要があります。楽天ブックスの書誌は、姉妹書として『OpenCV によるコンピュータビジョン・機械学習入門』を挙げています。
画像検査やロボット、カメラを組み込む装置の開発に関わり始めた人や、画像処理の講義の予習を自分で進めたい学生にとって、アルゴリズムの解説と 3 つの言語のコードを並べて追える本書は、ライブラリの関数を理由のある選択として使えるようになるための土台を固める 1 冊です。
言及した記事 (3 件)
この本に興味がある方におすすめ
関連する本
小枝 正直 の他の書籍
関連記事
Python 本の選び方 - 独学の最初の 1 冊から実務品質まで
Python 本の選び方を「動機」から逆算して整理。プログラミング未経験の最初の 1 冊、業務自動化に直結する本、型ヒントとコード品質で実務水準へ進む本まで、2026 年 8 月時点の定番を独学ルートに沿って解説します。
アルゴリズム本ガイド - 競プロだけじゃない、実務に活きる選び方
アルゴリズム本の 3 タイプと、実務でアルゴリズムの知識が活きる場面、数学が苦手な人向けの学習ルートを紹介します。
本の選び方に正解はない
どの本を選べばいいか迷って決められない。同じテーマの入門書は扱う基礎が大きく重なるため、どれからでも学べます。確認すべき 1 点と、迷いを終わらせる決め方を解説します。
関連用語
LCP
ビューポート内の最大コンテンツ要素が表示されるまでの時間を測定する Core Web Vitals の指標
画像最適化
Web ページの画像サイズを削減し、表示速度と Core Web Vitals を向上させる技術群
OpenCV
画像 / 動画を処理するためのオープンソースライブラリ。コンピュータビジョンの定番
遅延読み込み
リソースを必要になるまで読み込まず、初期表示速度とパフォーマンスを向上させる手法
Base64
バイナリデータを ASCII テキストに変換するエンコーディング方式で、メールや JSON でのバイナリ転送に使われる
DeepLearning
多層のニューラルネットワークで複雑なパターンを学習する機械学習の一手法