カラーカメラとモノクロカメラの違い
カラーカメラとモノクロカメラの違いについて説明します。
違い:センサにベイヤーフィルタがあるかないか
カラーセンサはベイヤーフィルタがセンサ受光素子に1ピクセルずつ搭載されています。カラーセンサの物理的な階層としては、イメージセンサを紫外線や物理的な接触破損から守る為のカバーガラス ⇒ 受光素子に十分な光量を到達させる為のマイクロレンズ ⇒ ベイヤーフィルタ ⇒ 受光素子という順です。一方のモノクロセンサはこのベイヤーフィルタが搭載されていません。
ベイヤーフィルタはR、G、Bの3種類のフィルタが以下の例のように配置されており、それぞれの受光素子は、Rだけの色、Gだけの色、Bだけの色を取得しています。
しかし、RのピクセルはBとGが、BのピクセルはRとGが、GのピクセルはRとBの成分が足りていません。これではカラー化できないので、ベイヤー変換処理をします。ベイヤー変換処理とは、以下のように周りのピクセルから足りない色を一定のアルゴリズムで補う処理のことです。
通常このベイヤー変換は、PC側のRAMメモリ内でソフトウェア処理として行われ、8bit/pixelのデータが24bit/pixelとカラー化されメモリ内でデータ量が3倍になります。ベイヤー変換することで、1ピクセルでRGBが表現できカラー画像を得る事ができます。
補足になりますが、モノクロカメラもカラーカメラもカメラから出力された画像データ容量はメモリに入ってくる直前までは全く同じです。言い換えると、カラー画像はモノクロ画像の3倍の容量ですが、カメラから出力される時間当たりのデータ量は両方とも同じなので、カラー画像を取得するからとってフレームレートなどには基本的には影響は出ません。もちろんベイヤー変換をカメラ側で行っている場合は、データ量が3倍になったのちPCに送られるのでフレームレートに影響が出ます。しかし、PCの性能の向上も相まってわざわざフレームレートを犠牲にしてまで、カメラ側でベイヤー変換処理をして出力するという設計のカメラは少なくなってきています。
モノクロカメラが存在する理由:(BayerRAWよりRAWの方が良いから)
カラーカメラであっても、ベイヤー変換をしない場合はモノクロデータが取得できます。一般的に、カラーセンサで取得するモノクロ画像はBayerRAW画像、モノクロセンサで取得されたRAW画像と区別されますが、両者のモノクロ画像は以下のように画質が異なります。
左はカラーカメラによるBayerRAW画像で、右はモノクロカメラによるRAW画像です。カラーカメラによるBayerRAW画像には市松模様が現れていることが判ります。一方のモノクロカメラによるRAW画像は市松模様もなくエッジが綺麗にとれている事が判ります。これは、ベイヤーフィルタが原因です。産業用カメラは主に撮影対象物に画像処理をかけて自動認識する目的に利用されますが、バーコード読取り/外観寸法計測/パターンマッチング/数量カウントなど色の情報が必要な場面というのはむしろ少ない傾向にあります。カラー画像が不要な場合にカラーカメラを用いる場合は、【市松模様のBayerRAWを処理する】か【カラー化(=市松模様をベイヤー変換処理)して容量の大きくなったカラー画像を処理する】かの2択になります。色の情報が不要な場合は、エッジが綺麗に取れて、画像容量が小さいモノクロカメラを選ぶとメリットがあります。ただし、ベイヤーフィルタは付けたり外したりできないので、将来カラー画像を取得する必要があるなら、カラーカメラにしておく必要があります。
産業用カメラでUVCカメラとして動作するもの
最新のPYTHON、Starvis、Pregiusセンサー搭載カメラ。
フォーカス位置をSDKからコントロール可能。USB2.0とUSB3.0のモデル有。