Dip-quick-guide
デジタル画像処理の概要
前書き
信号処理は、アナログおよびデジタル信号の分析と処理を扱う電気工学と数学の分野であり、信号の保存、フィルタリング、およびその他の操作を扱います。 これらの信号には、伝送信号、音声または音声信号、画像信号、その他の信号などが含まれます。
これらすべての信号のうち、入力が画像であり、出力も画像である信号のタイプを扱うフィールドは、画像処理で行われます。 名前が示すように、画像の処理を扱います。
さらに、アナログ画像処理とデジタル画像処理に分けることができます。
アナログ画像処理
アナログ画像処理はアナログ信号で行われます。 これには、2次元アナログ信号の処理が含まれます。 このタイプの処理では、電気信号を変えることにより、電気的手段によって画像が操作されます。 一般的な例には、テレビ画像が含まれます。
デジタル画像処理は、アプリケーションの幅が広いため、時間の経過とともにアナログ画像処理を支配しています。
デジタル画像処理
デジタル画像処理では、デジタル画像の操作を実行するデジタルシステムの開発を扱います。
画像とは
画像は2次元信号にすぎません。 これは数学関数f(x、y)によって定義されます。xとyは水平および垂直の2つの座標です。
任意の点でのf(x、y)の値は、画像のその点のピクセル値を示します。
上の図は、現在コンピューター画面に表示しているデジタル画像の例です。 しかし、実際には、この画像は0〜255の範囲の数値の2次元配列にすぎません。
128 | 30 | 123 |
232 | 123 | 321 |
123 | 77 | 89 |
80 | 255 | 255 |
各数値は、任意のポイントでの関数f(x、y)の値を表します。 この場合、値128、230、123はそれぞれ個別のピクセル値を表します。 画像の寸法は、実際にはこの2次元配列の寸法です。
デジタル画像と信号の関係
画像が2次元配列の場合、信号とはどう関係しますか? それを理解するために、まず信号とは何かを理解する必要がありますか?
信号
物理的な世界では、空間上の時間またはそれ以上の次元で測定可能な量を信号とみなすことができます。 信号は数学関数であり、いくつかの情報を伝えます。
信号は、1次元または2次元以上の信号です。 1次元信号は、時間の経過とともに測定される信号です。 一般的な例は音声信号です。
2次元信号は、他の物理量で測定された信号です。 二次元信号の例はデジタル画像です。 次のチュートリアルでは、1次元または2次元の信号とそれ以上の信号がどのように形成され解釈されるかについて詳しく説明します。
関係
物理的な世界で2人の観測者間で情報を伝達したり、メッセージをブロードキャストしたりするものはすべて信号であるためです。 それには、音声または(人間の声)または画像が信号として含まれます。 私たちが話すとき、私たちの声は音波/信号に変換され、話している人への時間に関して変換されます。 これだけでなく、デジタルカメラの動作方法には、デジタルカメラから画像を取得する際に、システムのある部分から他の部分への信号の転送が含まれます。
デジタル画像の形成方法
カメラから画像をキャプチャすることは物理的なプロセスです。 太陽光はエネルギー源として使用されます。 センサーアレイは、画像の取得に使用されます。 そのため、太陽光が物体に当たると、その物体で反射された光の量がセンサーで感知され、感知されたデータの量で連続的な電圧信号が生成されます。 デジタル画像を作成するには、このデータをデジタル形式に変換する必要があります。 これには、サンプリングと量子化が含まれます。 (これらについては後で説明します)。 サンプリングと量子化の結果、数値の2次元配列または行列が生成されますが、これはデジタル画像にすぎません。
重複するフィールド
マシン/コンピュータービジョン
マシンビジョンまたはコンピュータービジョンは、入力が画像で、出力が何らかの情報であるシステムの開発を扱います。 例:人間の顔をスキャンし、あらゆる種類のロックを開くシステムの開発。 このシステムは次のようになります。
コンピューターグラフィックス
コンピュータグラフィックスは、オブジェクトモデルからの画像の形成を扱い、画像は何らかのデバイスでキャプチャされます。 例:オブジェクトのレンダリング。 オブジェクトモデルから画像を生成します。 このようなシステムは次のようになります。
人工知能
人工知能は、多かれ少なかれ人間の知能を機械に入れることの研究です。 人工知能は、画像処理に多くの用途があります。 たとえば、医師がX線、MRI e.t.cの画像を解釈し、医師が検査する目立つ部分を強調表示するのを支援するコンピューター支援診断システムの開発。
信号処理
信号処理は傘であり、画像処理はその下にあります。 物理的な世界(3dの世界)のオブジェクトによって反射された光の量は、カメラのレンズを通過し、2dの信号になるため、画像が形成されます。 次に、この画像は信号処理の方法を使用してデジタル化され、このデジタル画像はデジタル画像処理で操作されます。
信号とシステムの紹介
このチュートリアルでは、デジタル画像処理の概念を理解するために必要な信号とシステムの基本について説明します。 詳細な概念に入る前に、まず簡単な用語を定義しましょう。
シグナル
電気工学では、情報を表す基本的な量を信号と呼びます。 情報が何であるかは関係ありません。つまり、アナログまたはデジタル情報です。 数学では、信号は情報を伝える関数です。 実際、空間上の時間またはそれ以上の次元で測定可能な量は信号として受け取ることができます。 信号は任意の次元のものであり、任意の形式のものです。
アナログ信号
信号は、時間に関して定義されることを意味するアナログ量である可能性があります。 これは連続信号です。 これらの信号は、連続した独立変数で定義されます。 膨大な数の価値があるため、分析が困難です。 値のサンプルが多いため、非常に正確です。 これらの信号を保存するには、実ライン上で無限の値を達成できるため、無限のメモリが必要です。 アナログ信号は正弦波で示されます。
例えば:
人間の声
人間の声はアナログ信号の一例です。 話すとき、生成される音声は圧力波の形で空気中を移動するため、数学関数に属し、空間と時間の独立変数と空気圧に対応する値を持ちます。
別の例は、次の図に示す正弦波です。
Y = sin(x)ここで、xは独立しています
デジタル信号
アナログ信号と比較して、デジタル信号の分析は非常に簡単です。 それらは不連続信号です。 それらはアナログ信号の流用です。
デジタルという用語は離散値を表し、したがって、情報を表すために特定の値を使用することを意味します。 デジタル信号では、2つの値、つまり1と0(バイナリ値)のみを使用して何かを表します。 デジタル信号はアナログ信号よりも精度が劣ります。これは、デジタル信号が一定期間にわたって取られたアナログ信号の個別のサンプルだからです。 ただし、デジタル信号はノイズの影響を受けません。 したがって、それらは長持ちし、解釈しやすいです。 デジタル信号は方形波で示されます。
例えば:
キーボード
キーボードからキーが押されるたびに、その特定のキーのASCII値を含む適切な電気信号がキーボードコントローラーに送信されます。 たとえば、キーボードのキーaが押されたときに生成される電気信号は、文字aのASCII値である0と1の形式で数字97の情報を伝えます。
アナログ信号とデジタル信号の違い
Comparison element | Analog signal | Digital signal |
---|---|---|
Analysis | Difficult | Possible to analyze |
Representation | Continuous | Discontinuous |
Accuracy | More accurate | Less accurate |
Storage | Infinite memory | Easily stored |
Subject to Noise | Yes | No |
Recording Technique | Original signal is preserved | Samples of the signal are taken and preserved |
Examples | Human voice, Thermometer, Analog phones e.t.c | Computers, Digital Phones, Digital pens, e.t.c |
システム
システムは、処理する入力および出力のタイプによって定義されます。 信号を処理しているため、この場合、システムは数学モデル、コード/ソフトウェア、物理デバイス、または入力が信号であり、その信号に対して何らかの処理を実行するブラックボックスになります。そして、出力は信号です。 入力は励起と呼ばれ、出力は応答と呼ばれます。
上の図では、入力と出力は両方とも信号ですが、入力はアナログ信号であるシステムが示されています。 そして、出力はデジタル信号です。 つまり、私たちのシステムは実際にはアナログ信号をデジタル信号に変換する変換システムです。
このブラックボックスシステムの内部を見てみましょう
アナログ信号からデジタル信号への変換
このアナログからデジタルへの変換に関連する多くの概念があるため、逆もまた同様です。 デジタル画像処理に関連するもののみを説明します。カバーメントに関係する2つの主要な概念があります。
- サンプリング
- 量子化
サンプリング
その名前が示すサンプリングは、サンプルの採取として定義できます。 x軸でデジタル信号のサンプルを取得します。 サンプリングは独立変数で行われます。 この数式の場合:
サンプリングはx変数で行われます。 また、x軸(無限値)のデジタルへの変換はサンプリングの下で行われると言うこともできます。
サンプリングは、アップサンプリングとダウンサンプリングにさらに分けられます。 x軸の値の範囲が小さい場合、値のサンプルを増やします。 これはアップサンプリングと呼ばれ、その逆はダウンサンプリングと呼ばれます。
量子化
その名前が示すように、量子化は、量子(パーティション)に分割することとして定義できます。 量子化は従属変数で行われます。 サンプリングの反対です。
この数学方程式y = sin(x)の場合
量子化はY変数で行われます。 y軸で行われます。 y軸の無限値から1、0、-1(またはその他のレベル)への変換は、量子化と呼ばれます。
これらは、アナログ信号をデジタル信号に変換する際に関与する2つの基本的な手順です。
信号の量子化は次の図に示されています。
アナログ信号をデジタル信号に変換する必要があるのはなぜですか。
最初の明らかな理由は、デジタル画像処理がデジタル画像であるデジタル信号を処理することです。 そのため、画像がキャプチャされると、デジタル形式に変換されてから処理されます。
2番目の重要な理由は、デジタルコンピューターでアナログ信号を操作するには、そのアナログ信号をコンピューターに保存する必要があるためです。 また、アナログ信号を保存するには、保存するために無限のメモリが必要です。 それが不可能なので、その信号をデジタル形式に変換し、それをデジタルコンピューターに保存してから操作を実行する理由です。
連続システムと個別システム
連続システム
入力と出力の両方が連続信号またはアナログ信号であるシステムのタイプは、連続システムと呼ばれます。
離散システム
入力と出力の両方が離散信号またはデジタル信号であるシステムのタイプは、デジタルシステムと呼ばれます。
写真の歴史
カメラの起源
カメラと写真の歴史はまったく同じではありません。 カメラの概念は、写真の概念よりもずっと前に導入されました
カメラオブスキュラ
カメラの歴史はアジアにあります。 カメラの原理は、中国の哲学者MOZIによって最初に導入されました。 カメラオブスキュラとして知られています。 カメラはこの原理から進化しました。
単語カメラオブスクラは、2つの異なる単語から進化しています。 カメラとオブスキュラ。 カメラという言葉の意味は部屋またはある種の金庫室であり、オブスキュラは暗闇を意味します。
中国の哲学者によって導入されたコンセプトは、壁に周囲のイメージを投影するデバイスで構成されています。 しかし、それは中国人によって建てられたのではありません。
カメラオブスキュラの作成
中国語の概念は、一般的にイブン・アル・ハイサムとして知られるイスラム教徒の科学者アブ・アリ・アル・ハッサン・イブン・アル・ハイサムによって実現されました。 彼は最初のカメラオブスクラを作りました。 彼のカメラはピンホールカメラの原理に従っています。 彼はこのデバイスを1000前後のどこかに構築しています。
ポータブルカメラ
1685年、ヨハンザーンが最初のポータブルカメラを製造しました。 このデバイスが登場する前は、カメラは部屋の大きさで構成されており、ポータブルではありませんでした。 アイルランドの科学者であるロバート・ボイルとロバート・フックによって作成されたデバイスは、持ち運び可能なカメラでしたが、そのデバイスはある場所から別の場所に運ぶには非常に巨大でした。
写真の起源
カメラオブスキュラはイスラム教徒の科学者によって1000年に建てられましたが。 しかし、その最初の実際の使用は、13世紀に英国の哲学者ロジャーベーコンによって記述されました。 ロジャーは、日食の観測にカメラを使用することを提案しました。
ダ・ヴィンチ
15世紀以前に多くの改善が行われましたが、レオナルドディセルピエロダヴィンチによって行われた改善と発見は顕著でした。 ダ・ヴィンチは偉大な芸術家、音楽家、解剖学者、そして戦争技術者でした。 彼は多くの発明の功績が認められています。 彼の最も有名な絵画には、モナリザの絵画が含まれます。
ダヴィンチは、ピンホールカメラの原理に従ってカメラオブスクラを構築しただけでなく、彼のアート作品の描画補助としても使用しています。 Codex Atlanticusで説明された彼の作品では、カメラのオブスキュラの多くの原則が定義されています。
彼のカメラは、ピンホールカメラの原理に従っています。
照らされたオブジェクトの画像が小さな穴を通過して非常に暗い部屋に入ると、これらのオブジェクトが適切な形と色で表示されます(反対側の壁)。
最初の写真
最初の写真は1814年にフランスの発明家ジョセフ・ニースフォア・ニープチェによって撮影されました。 彼は、ピューターのプレートをビチューメンでコーティングし、その後、そのプレートを光にさらすことにより、ル・グラの窓からの景色の最初の写真を撮影します。
初めての水中写真
最初の水中写真は、イギリスの数学者ウィリアム・トムソンが水密ボックスを使用して撮影したものです。 これは1856年に行われました。
映画の起源
映画の起源は、アメリカの発明家であり、写真の先駆者と見なされているジョージイーストマンとして知られる慈善家によって導入されました。
彼は映画の開発で有名なイーストマンコダックと呼ばれる会社を設立しました。 同社は1885年に紙フィルムの製造を開始しました。 彼は最初にカメラコダックを作成し、その後ブラウニーを作成しました。 ブラウニーはボックスカメラであり、スナップショットの機能により人気を博しました。
映画の出現後、カメラ業界は再びブームになり、ある発明が別の発明につながりました。
ライカとアーガス
ライカとアーガスは、それぞれ1925年と1939年に開発された2つのアナログカメラです。 カメラLeicaは、35mmシネフィルムを使用して構築されました。
Argusは、35mm形式を使用する別のカメラアナログカメラであり、ライカに比べてかなり安価で、非常に人気がありました。
アナログCCTVカメラ
1942年、ドイツのエンジニアWalter BruchがアナログCCTVカメラの最初のシステムを開発してインストールしました。 彼はまた、1960年にカラーテレビの発明をしたことでも知られています。
フォトパック
最初の使い捨てカメラは、1949年にPhoto Pacによって導入されました。 このカメラは、フィルムのロールがすでに含まれている、一度だけ使用するカメラでした。 Photo pacの後のバージョンは防水であり、フラッシュさえ持っていました。
デジタルカメラ
ソニーのマビカ
Mavica(磁気ビデオカメラ)は、1981年にソニーによって発売され、デジタルカメラの世界で最初のゲームチェンジャーでした。 画像はフロッピーディスクに記録されており、画像は後からモニター画面で見ることができます。
それは純粋なデジタルカメラではなく、アナログカメラでした。 しかし、フロッピーディスク上の画像の保存容量のために人気を得ました。 つまり、画像を長期間保存できるようになり、大量の写真をフロッピーに保存して、いっぱいになったときに新しい空のディスクに置き換えることができます。 Mavicaには、25個のイメージをディスクに保存する容量があります。
mavicaが導入したもう1つの重要なことは、写真をキャプチャする0.3メガピクセルの容量です。
デジタルカメラ
富士フイルム1988年の* Fuji DS-1Pカメラ*は最初の真のデジタルカメラでした
*Nikon D1* は、2.74メガピクセルのカメラであり、Nikonが開発した最初の商用デジタル一眼レフカメラであり、プロが手頃な価格で提供していました。
今日、デジタルカメラは非常に高い解像度と品質で携帯電話に含まれています。
アプリケーションと使用法
デジタル画像処理には非常に幅広い用途があり、ほとんどすべての技術分野がDIPの影響を受けるため、DIPの主要な用途のいくつかについて説明します。
デジタル画像処理は、カメラで撮影された日常の画像の空間解像度を調整するだけに限定されません。 写真の明るさを上げるだけでなく、e.t.c。 むしろそれはそれ以上です。
電磁波は、各粒子が光の速度で動いている粒子の流れと考えることができます。 各粒子にはエネルギーの束が含まれています。 このエネルギーの束は光子と呼ばれます。
光子のエネルギーに応じた電磁スペクトルを以下に示します。
この電磁スペクトルでは、可視スペクトルのみを見ることができます。可視スペクトルには、主に(VIBGOYR)と呼ばれる7つの異なる色が含まれています。 VIBGOYRは、バイオレット、インディゴ、ブルー、グリーン、オレンジ、イエロー、レッドを表します。
しかし、それはスペクトル内の他のものの存在を無効にしません。 人間の目は、すべてのオブジェクトを見ることができる可視部分のみを見ることができます。 しかし、カメラは肉眼では見ることができない他のものを見ることができます。 例:x線、ガンマ線、e.t.c。 したがって、これらすべての分析もデジタル画像処理で行われます。
この議論は別の質問につながります
EMスペクトル内の他のすべてのものも分析する必要があるのはなぜですか?
この質問への答えは事実にあります。なぜなら、XRayなどの他のものが医療の分野で広く使用されているからです。 ガンマ線は核医学や天体観測で広く使用されているため、ガンマ線の分析が必要です。 EMスペクトルの残りの部分についても同様です。
デジタル画像処理の応用
デジタル画像処理が広く使用されている主な分野のいくつかを以下に示します
- 画像のシャープ化と復元
- 医療分野
- リモートセンシング
- 伝送とエンコード
- マシン/ロボットビジョン
- 色処理
- パターン認識
- ビデオ処理
- 顕微鏡イメージング
- その他
画像のシャープ化と復元
ここで、画像の鮮鋭化と復元とは、最新のカメラからキャプチャした画像を処理して、より良い画像にするか、望ましい結果を得るためにそれらの画像を操作することです。 Photoshopが通常行うことを行うことを指します。
これには、ズーム、ぼかし、シャープニング、グレースケールから色への変換、エッジの検出、およびその逆、画像検索、画像認識が含まれます。 一般的な例は次のとおりです。
元の画像
ズーム画像
画像をぼかす
シャープな画像
エッジ
医療分野
医療分野におけるDIPの一般的な用途は
- ガンマ線イメージング
- PETスキャン
- X線イメージング
- 医療用CT
- UVイメージング
UVイメージング
リモートセンシングの分野では、地球の領域を衛星または非常に高い地面からスキャンし、分析してその情報を取得します。 リモートセンシングの分野でのデジタル画像処理の特定の用途の1つは、地震によるインフラストラクチャの損傷を検出することです。
深刻な損害に焦点を当てたとしても、損害を把握するのにより長い時間がかかるため。 地震の影響を受ける地域は非常に広い場合があるため、被害を推定するために人間の目で調べることはできません。 たとえそうであっても、それは非常に多忙で時間のかかる手順です。 そのため、これに対する解決策はデジタル画像処理にあります。 影響を受けたエリアの画像が地上からキャプチャされ、その後、地震によって引き起こされたさまざまな種類の損傷を検出するために分析されます。
分析に含まれる主な手順は次のとおりです。
- エッジの抽出
- さまざまなタイプのエッジの分析と強化
伝送とエンコード
ワイヤーを介して送信された最初の画像は、海底ケーブルを介してロンドンからニューヨークへでした。 送信された写真を以下に示します。
送信された写真は、ある場所から別の場所に到達するのに3時間かかりました。
想像してみてください。今日では、数秒の遅延で、ある大陸から別の大陸へのライブビデオフィードまたはライブcctv映像を見ることができます。 これは、この分野でも多くの作業が行われたことを意味します。 このフィールドは、伝送だけでなく、エンコードにも焦点を合わせています。 写真をエンコードし、インターネットまたはe.t.cでストリーミングするために、高帯域幅または低帯域幅用に多くの異なる形式が開発されています。
マシン/ロボットビジョン
現在ロボットが直面している多くの課題とは別に、最大の課題の1つはロボットのビジョンを高めることです。 ロボットが物事を見て、識別し、ハードルを識別できるようにします。 多くの作業がこの分野から提供されており、それに取り組むためにコンピュータービジョンの他の完全な分野が導入されています。
ハードル検出
ハードル検出は、画像内のさまざまな種類のオブジェクトを識別し、ロボットとハードル間の距離を計算することにより、画像処理によって行われている一般的なタスクの1つです。
ラインフォロワーロボット
今日のロボットのほとんどは、ラインをたどって動作するため、ラインフォロワーロボットと呼ばれています。 これは、ロボットがそのパス上を移動し、いくつかのタスクを実行するのに役立ちます。 これは、画像処理によっても達成されています。
色処理
カラー処理には、カラー画像と使用されるさまざまなカラースペースの処理が含まれます。 たとえば、RGBカラーモデル、YCbCr、HSV。 また、これらのカラー画像の送信、保存、エンコードの研究も含まれます。
パターン認識
パターン認識には、画像処理や、機械学習(人工知能の分野)を含む他のさまざまな分野の研究が含まれます。 パターン認識では、画像内のオブジェクトを識別するために画像処理が使用され、パターンの変化についてシステムをトレーニングするために機械学習が使用されます。 パターン認識は、コンピューター支援診断、手書き文字の認識、画像の認識などに使用されます。
ビデオ処理
ビデオは、写真の非常に速い動きに他なりません。 ビデオの品質は、1分あたりのフレーム/画像の数と使用されている各フレームの品質に依存します。 ビデオ処理には、ノイズリダクション、ディテールエンハンスメント、モーション検出、フレームレート変換、アスペクト比変換、色空間変換などが含まれます。
寸法の概念
ディメンションの概念を理解するために、この例を見てみましょう。
月に住んでいる友人がいて、彼があなたの誕生日プレゼントに贈り物を送りたいと考えているとします。 彼は地球上のあなたの住居について尋ねます。 唯一の問題は、月の宅配便がアルファベットの住所を理解せず、数値の座標のみを理解することです。 それで、彼に地球上のあなたの立場をどのように送るのですか?
それが次元の概念の出番です。 次元は、空間内の特定のオブジェクトの位置を指すのに必要な最小点数を定義します。
それでは、月の友人に地球上の位置を送信する必要があるこの例に戻りましょう。 あなたは彼に3組の座標を送ります。 1つ目は経度と呼ばれ、2つ目は緯度と呼ばれ、3つ目は高度と呼ばれます。
これらの3つの座標は、地球上のあなたの位置を定義します。 最初の2つは位置を定義し、3番目は海抜高度を定義します。
つまり、地球上の自分の位置を定義するために必要なのは3つの座標だけです。 つまり、あなたは3次元の世界に住んでいます。 したがって、これは次元に関する質問に答えるだけでなく、3Dの世界に住んでいる理由という理由にも答えます。
デジタル画像処理に関してこの概念を研究しているので、今度はこの次元の概念を画像に関連付けます。
画像の寸法
したがって、3Dの世界に住んでいる場合、3次元の世界を意味し、キャプチャする画像の次元はどうなりますか。 画像は2次元であるため、画像も2次元信号として定義します。 画像には高さと幅のみがあります。 画像には深度がありません。 以下のこの画像をご覧ください。
上の図を見ると、高さと幅の軸である2つの軸しかないことがわかります。 この画像から奥行きを知覚することはできません。 これが、画像が2次元信号であると言う理由です。 しかし、私たちの目は3次元のオブジェクトを知覚できますが、これについては、カメラの仕組みと画像の知覚に関する次のチュートリアルでさらに説明します。
この議論は、3次元システムが2次元からどのように形成されるかといういくつかの他の質問につながります。
テレビはどのように機能しますか?
上の画像を見ると、それが2次元の画像であることがわかります。 それを3次元に変換するには、もう1つの次元が必要です。 3番目の次元として時間を取りましょう。その場合、この2次元画像を3番目の次元の時間にわたって移動します。 テレビで起こる同じ概念は、画面上のさまざまなオブジェクトの深さを認識するのに役立ちます。 T.Vに表示されるもの、またはテレビ画面に表示されるものが3dであることを意味しますか。 はい、できます。
その理由は、T.Vの場合、ビデオを再生している場合です。 その場合、ビデオは、2次元の画像が時間の次元を移動することにほかなりません。 2次元のオブジェクトは時間である3次元上を移動しているため、3次元であると言えます。
信号の異なる次元
1次元信号
1次元信号の一般的な例は、波形です。 数学的に次のように表すことができます
F(x)=波形
xは独立変数です。 これは1次元の信号であるため、変数xが1つしか使用されない理由です。
1次元信号の図的表現を以下に示します。
上の図は、1次元の信号を示しています。
さて、これは別の質問につながります。それは、1次元の信号であるにもかかわらず、なぜ2つの軸を持っているのでしょうか。 この質問に対する答えは、それが1次元の信号であっても、2次元の空間に描画しているということです。 または、この信号を表す空間は2次元であると言えます。 それが二次元信号のように見える理由です。
おそらく、次の図を見ると、1つの次元の概念をよりよく理解できます。
寸法に関する最初の説明に戻ります。上の図では、ある点から別の点への正の数の実線を考えてください。 ここで、この線上の任意の点の位置を説明する必要がある場合、必要なのは1つの数値だけです。つまり、1つの次元のみです。
2次元信号
2次元信号の一般的な例は画像です。これについては既に説明しました。
すでに見てきたように、画像は2次元の信号、つまりi-e:2次元の信号です。 次のように数学的に表すことができます。
F(x、y)=イメージ
ここで、xとyは2つの変数です。 2次元の概念は、数学の観点から次のように説明することもできます。
上の図で、正方形の4つの角にそれぞれA、B、C、Dのラベルを付けます。 図ABの1つの線分と他のCDを呼び出すと、これら2つの平行な線分が結合して正方形を作ることがわかります。 各線分は1つの次元に対応するため、これら2つの線分は2つの次元に対応します。
3次元信号
3次元信号とは、3次元の信号を指します。 最も一般的な例は、私たちの世界の冒頭で議論されています。 私たちは三次元の世界に住んでいます。 この例は非常に詳細に説明されています。 3次元信号の別の例は、立方体または体積データです。最も一般的な例は、アニメーションまたは3D漫画のキャラクターです。
3次元信号の数学的表現は次のとおりです。
F(x、y、z)=アニメーションキャラクター。
別の軸または次元Zは3次元に関係しており、奥行きの錯覚を与えます。 デカルト座標系では、次のように表示できます。
4次元信号
4次元信号には、4つの次元が含まれます。 最初の3つは3次元信号の(X、Y、Z)と同じで、4番目に追加されるのはT(time)です。 時間はしばしば変化を測定する方法である時間的次元と呼ばれます。 数学的には、4 d信号は次のように表現できます。
F(x、y、z、t)=アニメーション映画。
4次元信号の一般的な例は、アニメーション化された3Dムービーです。 各キャラクターは3Dキャラクターであるため、時間に対して移動します。そのため、3次元の映画がより現実の世界のように見えます。
つまり、実際には、アニメーション化された映画は4次元のi-e、つまり4次元の時間にわたる3dキャラクターの動きです。
カメラでの画像形成
人間の目はどのように機能しますか?
アナログカメラとデジタルカメラでの画像形成について説明する前に、まず人間の目の画像形成について説明する必要があります。 カメラが従う基本原理が道から取られているため、人間の目は機能します。
特定のオブジェクトに光が当たると、オブジェクトを突き抜けて反射します。 光線は眼のレンズを通過すると特定の角度を形成し、画像は壁の裏側である網膜上に形成されます。 形成される画像は反転します。 このイメージは、脳によって解釈され、それによって物事を理解できるようになります。 角度の形成により、私たちは見ている物体の高さと深さを知覚することができます。 これは、透視変換のチュートリアルで詳しく説明されています。
上の図でわかるように、太陽光がオブジェクトに当たると(この場合、オブジェクトは顔です)、レンズを通過する際に反射し、異なる光線が異なる角度を形成し、オブジェクトは後壁に形成されています。 図の最後の部分は、オブジェクトが脳によって解釈され、反転されたことを示しています。
ここで、アナログカメラとデジタルカメラでの画像形成に話を戻しましょう。
アナログカメラでの画像形成
アナログカメラでは、画像形成は、画像形成に使用されるストリップ上で起こる化学反応によるものです。
35mmストリップはアナログカメラで使用されます。 図では、35mmフィルムカートリッジで示されています。 このストリップは、ハロゲン化銀(化学物質)でコーティングされています。
35mmストリップはアナログカメラで使用されます。 図では、35mmフィルムカートリッジで示されています。 このストリップは、ハロゲン化銀(化学物質)でコーティングされています。
光は光子粒子として知られている小さな粒子に過ぎないため、これらの光子粒子がカメラを通過すると、ストリップ上のハロゲン化銀粒子と反応し、画像のネガである銀が生成されます。
それをよりよく理解するために、この方程式を見てください。
光子(軽い粒子)+ハロゲン化銀? 銀? イメージネガ。
これは単なる基本に過ぎませんが、画像形成には、内部の光の通過に関する他の多くの概念、およびシャッターとシャッター速度と絞りとその開口の概念が含まれますが、今は次の部分に進みます。 これらの概念のほとんどは、シャッターと絞りのチュートリアルで説明されていますが。
これは単なる基本に過ぎませんが、画像形成には、内部の光の通過に関する他の多くの概念、およびシャッターとシャッター速度と絞りとその開口の概念が含まれますが、今は次の部分に進みます。 これらの概念のほとんどは、シャッターと絞りのチュートリアルで説明されていますが。
デジタルカメラでの画像形成
デジタルカメラでは、画像形成は起こる化学反応によるものではなく、これよりも少し複雑です。 デジタルカメラでは、センサーのCCDアレイが画像形成に使用されます。
CCDアレイによる画像形成
CCDは電荷結合素子の略です。 これはイメージセンサーであり、他のセンサーと同様に、値を検知して電気信号に変換します。 CCDの場合、画像を感知し、電気信号e.t.cに変換します。
このCCDは、実際にはアレイまたは長方形のグリッドの形をしています。 それは、マトリックスの各セルが光子の強度を感知する打ち切りを含むマトリックスのようなものです。
アナログカメラのように、デジタルの場合も、光がオブジェクトに当たると、光はオブジェクトに当たって反射し、カメラの内部に入ることができます。
CCDアレイ自体の各センサーはアナログセンサーです。 チップに光の光子が当たると、各フォトセンサーに小さな電荷として保持されます。 各センサーの応答は、センサーの表面に当たった光の量または(光子)エネルギーに直接等しくなります。
すでに画像を2次元信号として定義しており、CCDアレイの2次元形成により、このCCDアレイから完全な画像を取得できます。
センサーの数が制限されており、それによって限定された詳細をキャプチャできることを意味します。 また、各センサーは、衝突する各光子粒子に対して1つの値しか持つことができません。
したがって、(現在の)衝突する光子の数がカウントされ、保存されます。 これらを正確に測定するために、外部CMOSセンサーもCCDアレイに取り付けられています。
ピクセルの紹介
CCDアレイの各センサーの値は、個々のピクセルの各値を指します。 センサーの数=ピクセルの数。 また、各センサーが持つことができる値は1つだけであることも意味します。
画像の保存
CCDアレイによって保存された電荷は、一度に1ピクセルの電圧に変換されます。 追加の回路の助けを借りて、この電圧はデジタル情報に変換され、保存されます。
デジタルカメラを製造する各企業は、独自のCCDセンサーを製造しています。 それには、Sony、Mistubishi、Nikon、Samsung、Toshiba、FujiFilm、Canon e.t.cが含まれます。
他の要因とは別に、キャプチャされる画像の品質は、使用されているCCDアレイのタイプと品質にも依存します。
カメラ機構
このチュートリアルでは、絞り、シャッター、シャッタースピード、ISOなどの基本的なカメラの概念について説明し、これらの概念を集合的に使用して適切な画像をキャプチャする方法について説明します。
絞り
開口部は、光が内部に移動してカメラに入ることを可能にする小さな開口部です。 これが絞りの写真です。
あなたは、開口部の中のもののようないくつかの小さな刃が表示されます。 これらのブレードは、八角形の形状を作成し、閉じて開くことができます。 したがって、ブレードが開くほど、光が通過しなければならない穴が大きくなることは理にかなっています。 穴が大きいほど、より多くの光が入ることができます。
効果
絞りの効果は、画像の明るさと暗さに直接対応します。 開口部の開口部が広い場合、より多くの光がカメラに入ることができます。 より多くの光はより多くの光子をもたらし、最終的にはより明るい画像をもたらします。
この例を以下に示します
これらの2つの写真を検討してください
右側のものはより明るく見えます。つまり、カメラで撮影されたとき、開口部は大きく開いていました。 左側の最初の画像と比較して非常に暗い他の画像と比較すると、その画像がキャプチャされたとき、その開口部が大きく開いていなかったことを示しています。
Size
次に、開口部の背後にある数学について説明します。 開口のサイズはf値で示されます。 また、開口部の開口部に反比例します。
この概念を最もよく説明する2つの方程式を次に示します。
大口径=小さいf値
小さい開口サイズ=大きなf値
絵画的には次のように表現できます:
シャッター
絞りの後にシャッターがあります。 開口部からの通過を許可された光は、直接シャッターに当たります。 シャッターは、実際にはカバー、閉じた窓、またはカーテンと考えることができます。 画像が形成されるCCDアレイセンサーについて話すときは覚えておいてください。 シャッターの後ろにはセンサーがあります。 そのため、シャッターは、開口部から通過するときに、画像形成と光の間にある唯一のものです。
シャッターが開くとすぐに、画像センサーに光が当たり、アレイ上に画像が形成されます。
効果
シャッターが光を少し長く通過させる場合、画像はより明るくなります。 同様に、シャッターが非常に速く移動できるため、暗い画像が生成されるため、通過できる光の光子は非常に少なくなり、CCDアレイセンサーに形成される画像は非常に暗くなります。
シャッターにはさらに2つの主要な概念があります。
- シャッター速度
- シャッター時間
シャッター速度
シャッター速度は、シャッターが開閉する回数と呼ばれます。 シャッターが開いたり閉じたりする時間については話していません。
シャッター時間
シャッター時間は次のように定義できます
シャッターが開いているとき、閉じるまでにかかる時間をシャッター時間と呼びます。
この場合、シャッターが開いたり閉じたりした回数については説明していませんが、どれだけ時間が開いているかについては話します。
例えば:
この方法で、これら2つの概念をよりよく理解できます。 つまり、シャッターが15回開いてから閉じる、そして毎回1秒間開いてから閉じると言うことができます。 この例では、15はシャッター速度であり、1秒はシャッター時間です。
関係
シャッター速度とシャッター時間の関係は、両方とも互いに反比例するということです。
この関係は、次の式で定義できます。
シャッター速度を上げると、シャッター時間が短くなります。
シャッター速度が遅い=シャッター時間が長くなります。
説明:
必要な時間が短いほど、速度は大きくなります。 また、必要な時間が長いほど、速度は低下します。
アプリケーション
これらの2つの概念を組み合わせることで、さまざまなアプリケーションが作成されます。 それらのいくつかを以下に示します。
高速で移動するオブジェクト:
動きの速い物体の画像をキャプチャする場合は、車などです。 シャッター速度とその時間の調整は大きな影響を与えます。
したがって、このような画像をキャプチャするために、2つの修正を行います。
- シャッター速度を上げる
- シャッター時間を短縮する
何が起こるかというと、シャッター速度を上げると、より多くの回数、シャッターが開閉します。 異なるサンプルの光が通過することを意味します。 シャッター時間を短くすると、すぐにシーンをキャプチャし、シャッターゲートを閉じます。
これを行うと、動きの速いオブジェクトの鮮明な画像が得られます。
それを理解するために、この例を見てみましょう。 動きの速い滝の画像をキャプチャするとします。
シャッタースピードを1秒に設定し、写真をキャプチャします。 これはあなたが得るものです
次に、シャッタースピードをより速い速度に設定して取得します。
次に、シャッタースピードをさらに高速に設定して取得します。
最後の写真を見ると、シャッタースピードが非常に速くなっていることがわかります。つまり、シャッターが1秒間に200秒間で開閉するため、鮮明な画像が得られます。
ISO
ISO係数は数値で測定されます。 カメラに対する光の感度を示します。 ISO番号が低くなると、カメラの光に対する感度が低くなり、ISO番号が高いと感度が高くなります。
効果
ISOが高いほど、画像はより明るくなります。 ISOを1600に設定すると、画像は非常に明るくなり、逆も同様です。
副作用
ISOが増加すると、画像のノイズも増加します。 現在、カメラ製造会社のほとんどは、ISOがより高速に設定されている場合に画像からノイズを除去することに取り組んでいます。
ピクセルの概念
ピクセル
ピクセルは、画像の最小要素です。 各ピクセルは任意の1つの値に対応します。 8ビットグレースケールイメージで、0〜255のピクセル値。 任意のポイントでのピクセルの値は、そのポイントに当たる光の光子の強度に対応します。 各ピクセルには、その特定の場所の光の強度に比例した値が保存されます。
PEL
ピクセルはPELとも呼ばれます。 以下の写真からピクセルをより深く理解できます。
上の写真では、この画像を構成するピクセルが数千ある場合があります。 いくつかのピクセル分割が見える程度までその画像をズームします。 下の画像に示されています。
CCDアレイとの関係
CCDアレイで画像がどのように形成されるかを見てきました。 したがって、ピクセルは次のように定義することもできます。
CCDアレイの最小分割はピクセルとも呼ばれます。
CCDアレイの各区分には、それに当たる光子の強度に対する値が含まれています。 この値は、ピクセルとも呼ばれます。
総ピクセル数の計算
画像を2次元の信号または行列として定義しました。 その場合、PELの数は、行の数に列の数を掛けた数に等しくなります。
これは、以下のように数学的に表すことができます。
総ピクセル数=行数(X)列数
または、(x、y)座標ペアの数がピクセルの総数を構成すると言うことができます。
画像タイプのチュートリアルでは、カラー画像のピクセルをどのように計算するかについて詳しく見ていきます。
グレーレベル
任意の点でのピクセルの値は、その位置での画像の強度を示し、それはグレーレベルとしても知られています。
画像ストレージ内のピクセルの値とピクセルあたりのビット数のチュートリアルについて詳しく見ていきますが、ここでは、1つのピクセル値のみの概念を見ていきます。
ピクセル値(0)
このチュートリアルの冒頭で既に定義されているように、各ピクセルは1つの値のみを持つことができ、各値は画像のそのポイントでの光の強度を示します。
ここで、非常にユニークな値0を見てみましょう。 値0は、光がないことを意味します。 これは、0が暗いことを意味し、さらにピクセルの値が0になると、その時点で黒色が形成されることを意味します。
この画像マトリックスをご覧ください
0 | 0 | 0 |
0 | 0 | 0 |
0 | 0 | 0 |
これで、この画像マトリックスはすべて0で埋められました。 すべてのピクセルの値は0です。 このマトリックスからのピクセルの総数を計算する場合、これがその方法です。
合計ピクセル数=合計数 行Xの合計番号 列の
3×3
9.
つまり、画像は9ピクセルで形成され、その画像の寸法は3行3列であり、最も重要なことはその画像が黒であることを意味します。
作成される結果のイメージは、このようなものになります
さて、なぜこの画像はすべて黒です。 画像内のすべてのピクセルの値が0であったためです。
視点変換
人間の目は近くのものを見ると、遠くにいる人に比べて大きく見えます。 これは一般的な方法でパースペクティブと呼ばれます。 一方、変換とは、ある状態から別の状態へのオブジェクトe.t.cの転送です。
したがって、全体として、遠近法変換は3Dの世界を2Dの画像に変換することを扱います。 人間の視覚が機能するのと同じ原理と、カメラが機能するのと同じ原理。
これが起こる理由について詳しく説明します。近くにあるオブジェクトは大きく見え、遠くにあるオブジェクトは、到達すると大きく見えても小さく見えます。
この議論は、参照フレームの概念から始めます。
参照フレーム:
参照のフレームは、基本的に、何かを測定するための一連の値です。
基準の5フレーム
3Dワールド/イメージ/シーンを分析するには、5つの異なる参照フレームが必要です。
- 対象
- 世界
- カメラ
- 画像
- ピクセル
オブジェクト座標フレーム
オブジェクト座標フレームは、オブジェクトのモデリングに使用されます。 たとえば、特定のオブジェクトが他のオブジェクトに対して適切な場所にあるかどうかを確認します。 これは3D座標系です。
世界座標フレーム
ワールド座標フレームは、3次元の世界でオブジェクトを相互に関連付けるために使用されます。 これは3D座標系です。
カメラ座標フレーム
カメラ座標フレームは、カメラに関してオブジェクトを関連付けるために使用されます。 これは3D座標系です。
画像座標フレーム
それは3D座標系ではなく、2D系です。 これは、3Dポイントが2D画像平面にどのようにマッピングされるかを記述するために使用されます。
ピクセル座標フレーム
また、2D座標系です。 各ピクセルには、ピクセル座標の値があります。
これらの5つのフレーム間の変換
これが、ピクセルの画像を使用して3Dシーンを2Dに変換する方法です。
次に、この概念を数学的に説明します。
どこで
Y = 3Dオブジェクト
y = 2d画像
f =カメラの焦点距離
Z =オブジェクトとカメラ間の距離
この変換では、Qで表される2つの異なる角度が形成されます。
最初の角度は
マイナスは、画像が反転していることを示します。 形成される2番目の角度は次のとおりです。
これら2つの方程式を比較すると、
この式から、光線がカメラから渡されたオブジェクトに当たった後に反射して戻ると、反転した画像が形成されることがわかります。
この例を使用して、これをよりよく理解できます。
例えば
形成された画像のサイズの計算
身長5mで、カメラから50m離れたところに立っている人を撮影したとします。焦点距離が50mmのカメラで、その人の画像のサイズは何であるかを伝えなければなりません。
溶液:
焦点距離はミリメートル単位であるため、計算するためにはすべてをミリメートル単位に変換する必要があります。
So,
Y = 5000 mm。
f = 50 mm。
Z = 50000 mm。
式に値を入れると、
-5 mm。
繰り返しますが、マイナス記号は画像が反転していることを示します。
ビット/ピクセルの概念
Bppまたはピクセルあたりのビット数は、ピクセルあたりのビット数を示します。 画像内の異なる色の数は、色の深さまたはピクセルあたりのビット数によって異なります。
数学のビット:
バイナリビットで遊ぶのと同じです。
1ビットで表現できる数値の数。
0
1
2ビットの組み合わせをいくつ作成できるか。
00
01
10
11
ビットから作成できる組み合わせの総数を計算するための式を考案すると、このようになります。
bppはピクセルあたりのビット数を示します。 2を取得する式に1を入力すると、4を取得します。 それは指数関数的に成長します。
さまざまな色の数:
冒頭で述べたように、さまざまな色の数はピクセルあたりのビット数に依存します。
一部のビットとその色の表を以下に示します。
Bits per pixel | Number of colors |
---|---|
1 bpp | 2 colors |
2 bpp | 4 colors |
3 bpp | 8 colors |
4 bpp | 16 colors |
5 bpp | 32 colors |
6 bpp | 64 colors |
7 bpp | 128 colors |
8 bpp | 256 colors |
10 bpp | 1024 colors |
16 bpp | 65536 colors |
24 bpp | 16777216 colors (16.7 million colors) |
32 bpp | 4294967296 colors (4294 million colors) |
この表は、ピクセルごとに異なるビットとそれらに含まれる色の量を示しています。
シェード
指数関数的成長のパターンに簡単に気付くことができます。 有名なグレースケール画像は8 bppで、256色または256階調があります。
シェードは次のように表すことができます。
カラー画像は通常24 bpp形式、または16 bppです。
画像タイプのチュートリアルでは、他の色形式と画像タイプについて詳しく説明します。
色の値:
ピクセルの概念のチュートリアルで、0ピクセル値は黒色を表すことを以前に見ました。
黒色:
0ピクセル値は常に黒色を表すことを忘れないでください。 しかし、白色を示す固定値はありません。
白色:
白い色を示す値は、次のように計算できます。
1 bppの場合、0は黒を表し、1は白を表します。
8 bppの場合、0は黒を示し、255は白を示します。
灰色:
白黒の色の値を計算すると、灰色のピクセル値を計算できます。
グレー色は、実際には白黒の中間点です。 それは言った、
8bppの場合、灰色を示すピクセル値は127または128bppです(0からではなく1からカウントする場合)。
画像ストレージ要件
ピクセルあたりのビット数について説明した後、画像のサイズを計算するために必要なものがすべて揃いました。
画像サイズ
画像のサイズは、3つのことに依存します。
- 行の数
- 列の数
- ピクセルあたりのビット数
サイズの計算式は次のとおりです。
画像のサイズ=行*列* bpp
画像がある場合は、次のように言ってください:
1024行と1024列があると仮定します。 また、グレースケール画像であるため、256種類のグレーの濃淡またはピクセルごとのビットがあります。 次に、これらの値を式に入れると、次のようになります
画像のサイズ=行*列 *bpp
1024* 1024 * 8
8388608ビット。
しかし、それは私たちが認識する標準的な答えではないので、それを私たちの形式に変換します。
バイトに変換する= 8388608/8 = 1048576バイト。
キロバイトへの変換= 1048576/1024 = 1024kb。
メガバイトへの変換= 1024/1024 = 1 Mb
それが画像サイズの計算方法と保存方法です。 ここで、式で、画像のサイズとピクセルあたりのビット数を指定すると、画像が正方形(同じ行と同じ列)であれば、画像の行と列も計算できます。
画像の種類
画像には多くの種類があり、さまざまな種類の画像とそれらの色分布について詳しく見ていきます。
バイナリ画像
名前が示すとおり、バイナリイメージには2つのピクセル値のみが含まれます。
0および1。
ピクセルあたりのビットに関する以前のチュートリアルでは、ピクセル値のそれぞれの色への表現についてこれを詳細に説明しました。
ここで、0は黒色を表し、1は白色を表します。 モノクロとも呼ばれます。
白黒画像:
したがって、形成される結果の画像は白黒のみで構成され、したがって白黒画像とも呼ばれます。
グレーレベルなし
このバイナリイメージについての興味深い点の1つは、その中にグレーレベルがないことです。 黒と白の2色のみが含まれています。
フォーマット
バイナリイメージの形式はPBM(Portable bit map)です
2、3、4、5、6ビットカラー形式
2、3、4、5、および6ビットのカラー形式の画像は、今日広く使用されていません。 昔は、古いテレビディスプレイやモニターディスプレイに使用されていました。
しかし、これらの色はそれぞれ2つ以上のグレーレベルを持っているため、バイナリイメージとは異なり、グレーの色を持っています。
2ビット4、3ビット8、4ビット16、5ビット32、6ビット64の異なる色が存在します。
8ビットカラーフォーマット
8ビットカラー形式は、最も有名な画像形式の1つです。 256色の色合いがあります。 これは一般にグレースケール画像として知られています。
8ビットの色の範囲は0〜255です。 0は黒、255は白、127は灰色を表します。
このフォーマットは、初期のオペレーティングシステムUNIXおよび初期のカラーMacintoshの初期モデルで使用されていました。
アインシュタインのグレースケール画像を以下に示します:
フォーマット
これらの画像の形式はPGM(Portable Gray Map)です。
この形式は、Windowsではデフォルトでサポートされていません。 グレースケール画像を表示するには、Matlabなどの画像ビューアーまたは画像処理ツールボックスが必要です。
グレースケール画像の背後:
前のチュートリアルで何度か説明したように、画像は2次元の関数にすぎず、2次元の配列または行列で表すことができます。 したがって、上に示したアインシュタインの画像の場合、後ろに0〜255の範囲の値を持つ2次元のマトリックスがあります。
しかし、カラー画像の場合はそうではありません。
16ビットカラーフォーマット
カラー画像形式です。 65,536種類の色があります。 ハイカラー形式とも呼ばれます。
8ビット以上のカラー形式をサポートするシステムでMicrosoftによって使用されています。 この16ビット形式と次の形式では、どちらが24ビット形式であるかについて説明しますが、どちらもカラー形式です。
カラー画像の色の分布は、グレースケール画像の場合ほど単純ではありません。
16ビット形式は、実際には赤、緑、青の3つの形式にさらに分割されます。 有名な(RGB)形式。
下の画像に絵で表されています。
ここで、16を3つにどのように分配するかという疑問が生じます。 このようにすると
Rに5ビット、Gに5ビット、Bに5ビット
その後、最後に1ビットが残ります。
したがって、16ビットの配布は次のように行われています。
Rに5ビット、Gに6ビット、Bに5ビット。
残された追加ビットは、緑のビットに追加されます。 なぜなら、緑はこれらの3色すべての中で最も目にやさしい色だからです。
これは、すべてのシステムが配布の後に続くわけではないことに注意してください。 16ビットのアルファチャネルを導入しているものもあります。
16ビット形式の別の分布は次のとおりです。
Rに4ビット、Gに4ビット、Bに4ビット、アルファチャネルに4ビット。
または、このように配布する人もいます
Rに5ビット、Gに5ビット、Bに5ビット、アルファチャネルに1ビット。
24ビットカラーフォーマット
24ビットカラー形式は、トゥルーカラー形式とも呼ばれます。 16ビットカラー形式と同様に、24ビットカラー形式では、24ビットは再び赤、緑、青の3つの異なる形式で配布されます。
24は8で均等に分割されているため、3つの異なるカラーチャネルに均等に分配されています。
それらの分布はこのようなものです。
Rに8ビット、Gに8ビット、Bに8ビット。
24ビット画像の背後。
1つのマトリックスが背後にある8ビットのグレースケールイメージとは異なり、24ビットのイメージにはR、G、Bの3つの異なるマトリックスがあります。
フォーマット
最も一般的に使用される形式です。 その形式は、LinuxオペレーティングシステムでサポートされているPPM(ポータブルpixMap)です。 有名なウィンドウには、BMP(Bitmap)という独自の形式があります。
カラーコード変換
このチュートリアルでは、異なるカラーコードを組み合わせて他の色を作成する方法、およびRGBカラーコードを16進数に変換する方法、およびその逆の方法を説明します。
異なる色コード
ここのすべての色は24ビット形式です。つまり、各色には8ビットの赤、8ビットの緑、8ビットの青が含まれています。 または、各色に3つの異なる部分があると言えます。 色を作るには、これら3つの部分の量を変更するだけです。
バイナリカラー形式
カラー:ブラック
画像:
10進コード:
(0,0,0)
説明:
前のチュートリアルで説明したように、8ビット形式では、0は黒を指します。 したがって、純粋な黒色を作成する必要がある場合、R、G、Bの3つの部分すべてを0にする必要があります。
カラー:ホワイト
画像:
10進コード:
(255,255,255)
説明:
R、G、Bの各部分は8ビット部分です。 したがって、8ビットでは、白色は255で形成されます。 ピクセルのチュートリアルで説明されています。 したがって、白色を作成するために、各部分を255に設定し、白色を得る方法を設定します。 各値を255に設定すると、全体の値が255になり、色が白になります。
RGBカラーモデル:
赤色
画像:
10進コード:
(255,0,0)
説明:
必要なのは赤色のみなので、残りの2つの部分である緑と青をゼロにし、赤の部分を最大値である255に設定します。
カラー:グリーン
画像:
10進コード:
(0,255,0)
説明:
必要なのは緑色だけなので、残りの2つの部分である赤と青をゼロにし、緑の部分を最大値である255に設定します。
青色
画像:
10進コード:
(0,0,255)
説明:
青色のみが必要なので、残りの2つの部分である赤と緑をゼロにし、青の部分を最大値である255に設定します
灰色:
色:グレー
画像:
10進コード:
(128,128,128)
説明
ピクセルのチュートリアルで既に定義したように、その灰色は実際には中間点です。 8ビット形式では、中点は128または127です。 この場合、128を選択します。 したがって、各部分を128である中間点に設定すると、全体の中間値になり、灰色になります。
CMYKカラーモデル:
CMYKは、cがシアン、mがマゼンタ、yが黄色、kが黒を表す別のカラーモデルです。 CMYKモデルは、カラーの2つのカーターが使用されるカラープリンターで一般的に使用されます。 1つはCMYで構成され、もう1つは黒色で構成されています。
CMYの色は、赤、緑、青の量または部分を変更することでも作成できます。
色:シアン
画像:
10進コード:
(0,255,255)
説明:
シアン色は、緑と青の2つの異なる色の組み合わせから形成されます。 したがって、これら2つを最大に設定し、赤の部分をゼロにします。 そして、シアン色になります。
色:マゼンタ
画像:
10進コード:
(255,0,255)
説明:
マゼンタ色は、赤と青の2つの異なる色の組み合わせから形成されます。 したがって、これら2つを最大に設定し、緑の部分をゼロにします。 そして、マゼンタ色を取得します。
色:黄色
画像:
10進コード:
(255,255,0)
説明:
黄色は、赤と緑の2つの異なる色の組み合わせから形成されます。 そこで、これら2つを最大に設定し、青の部分をゼロにします。 そして、黄色になります。
変換
ここで、色がどのように変換されるかが、ある形式から別の形式に変わることがわかります。
RGBから16進コードへの変換:
16進数からrgbへの変換は、次の方法で行われます。
- 色を取る。 例:白=(255、255、255)。
- 最初の部分(例:255)を取得します。
- 16で割ります。 このような:
- 変換
- 行の下の2つの数字、係数、および残りを取ります。 この場合、15から15(FF)です。
- 次の2つの部分について、手順2を繰り返します。
- すべての16進コードを1つに結合します。
回答:#FFFFFF
16進数からRGBへの変換:
16進コードからrgb 10進形式への変換は、この方法で行われます。
16進数を取ります。 例:#FFFFFF
この番号を3つの部分に分けます:FF FF FF
最初の部分を取り、そのコンポーネントを分離します:F F
各パーツを個別にバイナリに変換します:(1111)(1111)
ここで、個々のバイナリを1つに結合します:11111111
このバイナリを10進数に変換:255
次に、ステップ2をさらに2回繰り返します。
値は最初のステップでR、2番目のステップでG、3番目のステップでBに属します。
回答:(255、255、255)
一般的な色とその16進コードは、この表に記載されています。
Color | Hex Code |
---|---|
Black | #000000 |
White | #FFFFFF |
Gray | #808080 |
Red | #FF0000 |
Green | #00FF00 |
Blue | #0000FF |
Cyan | #00FFFF |
Magenta | #FF00FF |
Yellow | #FFFF00 |
グレースケールからRGBへの変換
画像タイプのチュートリアルで、RGBカラーモデルとグレースケール形式を既に定義しています。 次に、カラー画像をグレースケール画像に変換します。 変換するには2つの方法があります。 どちらにもそれぞれ長所と短所があります。 メソッドは次のとおりです。
- 平均法 *加重法または光度法
平均法
平均法は最も簡単な方法です。 あなたはちょうど3色の平均を取る必要があります。 RGB画像なので、gにbを加えてrを追加し、それを3で割って目的のグレースケール画像を取得することを意味します。
この方法で行われます。
グレースケール=(R + G + B/3)
例えば:
上記の画像のようなカラー画像があり、平均法を使用してグレースケールに変換する場合。 次の結果が表示されます。
説明
確かなことは、元の作品に何かが起こるということです。 これは、平均的な方法が機能することを意味します。 しかし、結果は予想通りではありませんでした。 画像をグレースケールに変換したかったのですが、これはかなり黒い画像であることが判明しました。
問題
この問題は、3つの色の平均を取るために発生します。 3つの異なる色には3つの異なる波長があり、画像の形成に独自の寄与があるため、平均法を使用して平均的に行われるのではなく、その寄与に従って平均を取る必要があります。 今私たちがやっていることはこれです、
赤の33%、緑の33%、青の33%
それぞれの33%を使用しています。つまり、各部分は画像内で同じ貢献をしています。 しかし、実際にはそうではありません。 これに対する解決策は、光度法によって与えられました。
加重法または光度法
平均的な方法で発生する問題を見てきました。 加重法には、この問題の解決策があります。 赤い色は3色すべての波長よりも長いので、緑は赤い色よりも波長が短いだけでなく、緑も目に優しい効果を与える色です。
つまり、赤色の寄与を減らし、緑色の寄与を増やし、これら2つの間に青色の寄与を入れる必要があります。
したがって、形成される新しい方程式は次のとおりです。
新しいグレースケール画像=((0.3* R)(0.59 *G)(0.11* B))。
この式によると、赤は30%を、緑は59%を寄与し、これは3色すべてで大きく、青は11%を寄与しています。
この方程式を画像に適用すると、次のようになります
元の画像:
グレースケール画像:
説明
ここでわかるように、画像は現在、加重法を使用してグレースケールに適切に変換されています。 平均法の結果と比較すると、この画像はより明るくなっています。
サンプリングの概念
アナログ信号からデジタル信号への変換:
ほとんどのイメージセンサーの出力はアナログ信号であり、保存できないため、デジタル処理を適用できません。 無限の値を持つことができる信号を保存するには無限のメモリが必要なので、保存できません。
そのため、アナログ信号をデジタル信号に変換する必要があります。
デジタルの画像を作成するには、連続データをデジタル形式に変換する必要があります。 それを行うには2つのステップがあります。
- サンプリング
- 量子化
ここでサンプリングについて説明し、量子化については後で説明しますが、ここではこれら2つの違いとこれら2つのステップの必要性について少し説明します。
基本的な考え方:
アナログ信号をデジタル信号に変換する背後にある基本的な考え方は、
両方の軸(x、y)をデジタル形式に変換します。
画像は座標(x軸)だけでなく、振幅(y軸)でも連続しているため、座標のデジタル化を扱う部分はサンプリングと呼ばれます。 そして、振幅のデジタル化を扱う部分は量子化と呼ばれます。
サンプリング。
サンプリングは、信号とシステムの紹介のチュートリアルで既に紹介されています。 しかし、ここでさらに議論します。
ここで、サンプリングについて説明しました。
サンプリングという用語は、サンプルを取ることを指します
サンプリングでx軸をデジタル化します
独立変数で行われます
方程式y = sin(x)の場合、x変数で行われます
さらに、アップサンプリングとダウンサンプリングの2つの部分に分かれています。
上の図を見ると、信号にランダムな変動があることがわかります。 これらの変動はノイズによるものです。 サンプリングでは、サンプルを取得することでこのノイズを減らします。 より多くのサンプルを取得し、画像の品質がより良くなり、ノイズがより除去され、同じことが起こることは明らかです。
ただし、x軸でサンプリングを行う場合、量子化と呼ばれるy軸のサンプリングも行わない限り、信号はデジタル形式に変換されません。 サンプルの数が増えると、最終的にはより多くのデータを収集していることになり、画像の場合はピクセルが増えます。
ピクセルとの関係シップ
ピクセルは画像の最小要素であるため。 画像の合計ピクセル数は次のように計算できます。
ピクセル=行の合計数*列の合計数。
合計25ピクセルがあるとしましょう。これは、5 x 5の正方形の画像があることを意味します。 次に、サンプリングについて上で議論したように、より多くのサンプルが最終的により多くのピクセルをもたらします。 つまり、連続信号のx軸で25個のサンプルを取得したことを意味します。 これは、この画像の25ピクセルを指します。
これは、ピクセルもCCDアレイの最小分割であるという別の結論につながります。 つまり、CCDアレイとも関係があるということです。これは、このように説明できます。
CCDアレイとの関係
CCDアレイ上のセンサーの数は、ピクセルの数に直接等しくなります。 また、ピクセル数はサンプル数に直接等しいと結論付けたため、サンプル数はCCDアレイ上のセンサーの数に直接等しいことを意味します。
オーバーサンプリング。
最初に、サンプリングをさらに2つのタイプに分類することを定義しました。 アップサンプリングとダウンサンプリングです。 アップサンプリングはオーバーサンプリングとも呼ばれます。
オーバーサンプリングには、ズームと呼ばれる画像処理の非常に深い応用があります。
ズーミング
次のチュートリアルでズームを正式に紹介しますが、今のところは、ズームについて簡単に説明します。
ズームとは、ピクセルの量を増やすことを指します。そのため、画像をズームすると、より詳細に表示されます。
ピクセル数の増加は、オーバーサンプリングによって行われます。 ズームする、またはサンプルを増やす1つの方法は、レンズのモーターの動きを介して光学的にズームしてから、画像をキャプチャすることです。 しかし、画像をキャプチャしたら、それを行う必要があります。
ズームとサンプリングには違いがあります
概念は同じです。つまり、サンプルを増やします。 ただし、重要な違いは、信号でサンプリングが行われている間、デジタル画像でズームが行われることです。
ピクセル解像度
ピクセル解像度を定義する前に、ピクセルを定義する必要があります。
ピクセル
ピクセルの概念のチュートリアルで既にピクセルを定義しました。ここでは、ピクセルを画像の最小要素として定義しています。 また、ピクセルはその特定の場所の光の強度に比例した値を保存できることも定義しました。
ピクセルを定義したので、解像度とは何かを定義します。
解決
解像度はさまざまな方法で定義できます。 ピクセル解像度、空間解像度、時間解像度、スペクトル解像度など。 このうち、ピクセル解像度について説明します。
おそらく、自分のコンピューターの設定で、800 x 600、640 x 480 e.t.cのモニター解像度があることを見たことがあるでしょう。
ピクセル解像度では、解像度という用語はデジタル画像内のピクセルの総数を指します。 例えば。 画像にM行とN列がある場合、その解像度はM X Nとして定義できます。
解像度をピクセルの総数として定義する場合、ピクセル解像度は2つの数値のセットで定義できます。 最初の数字は画像の幅、または列全体のピクセル、2番目の数字は画像の高さ、またはその幅全体のピクセルです。
ピクセル解像度が高いほど、画像の品質が高いと言えます。
画像のピクセル解像度を4500 X 5500として定義できます。
メガピクセル
ピクセル解像度を使用して、カメラのメガピクセルを計算できます。
列ピクセル(幅)X行ピクセル(高さ)/100万。
画像のサイズは、ピクセル解像度で定義できます。
サイズ=ピクセル解像度X bpp(ピクセルあたりのビット数)
カメラのメガピクセルを計算する
次元のイメージがあるとしましょう:2500 X 3192。
ピクセル解像度= 2500 * 3192 = 7982350バイト。
100万で割る= 7.9 = 8メガピクセル(概算)。
アスペクト比
ピクセル解像度に関するもう1つの重要な概念は、アスペクト比です。
アスペクト比は、画像の幅と画像の高さの比率です。 通常、コロンで区切られた2つの数値(8:9)として説明されます。 この比率は、画像や画面によって異なります。 一般的なアスペクト比は次のとおりです。
1.33:1、1.37:1、1.43:1、1.50:1、1.56:1、1.66:1、1.75:1、1.78:1、1.85:1、2.00:1、e.t.c
利点
アスペクト比は、画面上の画像の外観のバランスを維持します。つまり、水平ピクセルと垂直ピクセルの比率を維持します。 アスペクト比を上げても画像がゆがむことはありません。
例えば
これは、100行100列のサンプル画像です。 作成したいサイズが小さく、条件が品質が同じままである、または他の方法で画像が歪まないという場合、ここでそれがどのように起こるかです。
元の画像
MSペイントの縦横比を維持して行と列を変更します。
結果
画像は小さくなりますが、バランスは同じです。
おそらくビデオプレーヤーでアスペクト比を見たことがあるでしょう。画面の解像度に応じてビデオを調整できます。
アスペクト比から画像の寸法を見つける:
アスペクト比は多くのことを教えてくれます。 アスペクト比を使用すると、画像のサイズとともに画像の寸法を計算できます。
例えば
480000ピクセルのピクセル解像度の画像のアスペクト比6:2の画像が与えられた場合、その画像はグレースケール画像です。
そして、2つのことを計算するように求められます。
- ピクセル解像度を解決して画像の寸法を計算する *画像のサイズを計算する
溶液:
与えられた:
アスペクト比:c:r = 6:2
ピクセル解像度:c* r = 480000
ピクセルあたりのビット数:グレースケール画像= 8bpp
見つける:
行数=?
colsの数=?
最初の部分を解く:
第二部の解決:
サイズ=行 cols bpp
ビット単位の画像のサイズ= 400 1200 8 = 3840000ビット
バイト単位の画像のサイズ= 480000バイト
キロバイト単位の画像のサイズ= 48 kb(約)。
ズームの概念
このチュートリアルでは、ズームの概念と、画像をズームするために使用される一般的なテクニックを紹介します。
ズーミング
ズームとは、単に、画像の細部がよりはっきりと見えるように写真を拡大することを意味します。 画像のズームには、カメラのレンズを介したズームから、インターネット上の画像のズームなど、幅広いアプリケーションがあります。
例えば
ズームインされています
2つの異なるステップで何かをズームできます。
最初のステップには、特定の画像を撮る前にズームすることが含まれます。 これは、前処理ズームと呼ばれます。 このズームには、ハードウェアと機械的な動きが含まれます。
2番目のステップは、画像がキャプチャされたらズームすることです。 これは、ピクセルを操作して必要な部分を拡大するさまざまなアルゴリズムによって行われます。
次のチュートリアルでそれらについて詳しく説明します。
光学ズームとデジタルズーム
これらの2種類のズームは、カメラでサポートされています。
光学ズーム:
光学ズームは、カメラのレンズの動きを使用して実現されます。 光学ズームは実際には真のズームです。 光学ズームの結果は、デジタルズームの結果よりもはるかに優れています。 光学ズームでは、画像内のオブジェクトがカメラにより近く見えるように、レンズによって画像が拡大されます。 光学ズームでは、レンズを物理的に拡大して、オブジェクトをズームまたは拡大します。
デジタルズーム:
デジタルズームは、基本的にカメラ内の画像処理です。 デジタルズーム中、画像の中心が拡大され、画像の端が切り取られます。 中心が拡大されているため、オブジェクトが近くにあるように見えます。
デジタルズーム中に、ピクセルが拡大しました。これにより、画像の品質が低下します。
Photoshopなどの画像処理ツールボックス/ソフトウェアを使用して、コンピューターで画像を撮影した後、デジタルズームの同じ効果を確認できます。
次の図は、ズーム方法で以下に示す以下の方法のいずれかで行われたデジタルズームの結果です。
デジタル画像処理を活用しているため、レンズなどを使用して画像を光学的にズームする方法に焦点を合わせません。 むしろ、デジタル画像をズームできる方法に焦点を当てます。
ズーム方法:
この仕事をする多くの方法がありますが、ここではそれらの最も一般的なものについて説明します。
それらは以下にリストされています。
- ピクセル複製または(最近傍内挿)
- ゼロ次ホールド方法
- K回ズーム
これら3つの方法はすべて、次のチュートリアルで正式に紹介されています。
ズーム方法
このチュートリアルでは、「ズームの概要」のチュートリアルで紹介した3つのズーム方法を正式に紹介します。
方法
- ピクセル複製または(最近傍内挿)
- ゼロ次ホールド方法
- K回ズーム
それぞれの方法には、それぞれ利点と欠点があります。 まず、ピクセル複製について説明します。
方法1:ピクセル複製:
前書き:
また、最近傍内挿としても知られています。 その名前が示すように、この方法では、隣接するピクセルを複製するだけです。 サンプリングのチュートリアルで既に説明したように、そのズームは、サンプルまたはピクセルの量を増やすことに他なりません。 このアルゴリズムは同じ原理で機能します。
ワーキング:
このメソッドでは、すでに指定されたピクセルから新しいピクセルを作成します。 この方法では、各ピクセルが行ごとおよび列ごとにn回複製され、ズームされた画像が得られます。 それはそれと同じくらい簡単です。
例えば:
2行2列の画像があり、ピクセルレプリケーションを使用して2倍または2倍にズームしたい場合、ここでそれを行う方法を説明します。
理解を深めるために、画像は画像のピクセル値を持つマトリックスの形で撮影されています。
1 | 2 |
3 | 4 |
上の画像には2つの行と2つの列があり、最初に行ごとにズームします。
行ごとのズーム:
行ごとにズームすると、行のピクセルを隣接する新しいセルに単純にコピーします。
ここでそれがどのように行われるでしょう。
1 | 1 | 2 | 2 |
3 | 3 | 4 | 4 |
上記のマトリックスでわかるように、各ピクセルは行で2回複製されます。
列サイズのズーム:
次のステップでは、各ピクセルを列単位で複製します。列ピクセルを隣接する新しい列または単にその下にコピーします。
ここでそれがどのように行われるでしょう。
1 | 1 | 2 | 2 |
1 | 1 | 2 | 2 |
3 | 3 | 4 | 4 |
3 | 3 | 4 | 4 |
新しい画像サイズ:
上記の例からわかるように、2行2列の元の画像はズーム後に4行4列に変換されています。 つまり、新しい画像の寸法は
(元の画像行*ズーム係数、元の画像列*ズーム係数)
長所と短所:
このズーム手法の利点の1つは、非常に単純なことです。 ピクセルをコピーするだけで、それ以外は何もしません。
この手法の欠点は、画像がズームされますが、出力が非常にぼやけることです。 そして、ズーム係数が増加するにつれて、画像はますますぼやけました。 最終的には完全にぼやけた画像になります。
方法2:ゼロ次ホールド
前書き
ゼロ次ホールド方法は、ズームのもう1つの方法です。 2倍ズームとも呼ばれます。 2回しかズームできないからです。 以下の例で、なぜそれを行うのかを説明します。
ワーキング
ゼロ次ホールドメソッドでは、行から2つの隣接する要素をそれぞれ選択し、それらを追加して結果を2で除算し、それらの2つの要素の間に結果を配置します。 最初にこの行を賢明にし、次にこの列を賢明にします。
例えば
2行2列の寸法の画像を取得し、ゼロ次ホールドを使用して2回ズームします。
1 | 2 |
3 | 4 |
最初に行ごとにズームし、次に列ごとにズームします。
行ごとのズーム
1 | 1 | 2 |
3 | 3 | 4 |
最初の2つの数値((2 + 1)= 3)を取得し、それを2で除算すると、1.5になり、1に近似します。 同じ方法が行2に適用されます。
列ごとのズーム
1 | 1 | 2 |
2 | 2 | 3 |
3 | 3 | 4 |
1と3の2つの隣接する列ピクセル値を取ります。 それらを追加して4を得ました。 4を2で割ると、2が得られ、その間に配置されます。 同じ方法がすべての列に適用されます。
新しい画像サイズ
ご覧のとおり、新しい画像の寸法は3 x 3であり、元の画像の寸法は2 x 2です。 したがって、新しい画像の寸法は次の式に基づいていることを意味します
(2(行数)-1)X(2(列数)-1)
長所と短所。
このズーム手法の利点の1つは、最近傍内挿法と比較してぼやけた画像を作成しないことです。 ただし、2の累乗でしか実行できないという欠点もあります。 ここで実演できます。
2倍ズームの理由:
上記の2行2列の画像を検討してください。 ゼロ次ホールドメソッドを使用して6倍にズームする必要がある場合、それはできません。 数式が示すように、これ。
2 2,4,8,16,32などの累乗でのみズームできます。
ズームしようとしてもできません。 最初は2回ズームすると、結果は3x3に等しい寸法での列ごとのズームで示されるものと同じになるためです。 その後、再度ズームすると、5 x 5に等しい寸法が得られます。 ここでもう一度行うと、9 x 9に等しい寸法が得られます。
あなたの公式によれば、答えは11x11でなければなりません。 (6(2)-1)X(6(2)-1)は11 x 11になります。
方法3:K-Timesズーム
前書き:
K回は、これから説明する3番目のズーム方法です。 これまでに説明した最も完璧なズームアルゴリズムの1つです。 2倍ズームとピクセル複製の両方の課題に対応します。 このズームアルゴリズムのKは、ズーム係数を表します。
ワーキング:
このように機能します。
まず、ズームを2回行ったときのように、隣接する2つのピクセルを使用する必要があります。 次に、大きい方から小さい方を差し引く必要があります。 この出力(OP)と呼びます。
出力(OP)をズーム係数(K)で割ります。 ここで、結果を小さい値に追加し、結果をこれらの2つの値の間に入れる必要があります。
配置した値に値OPを再度追加し、前の配置された値の隣に再度配置します。 k-1の値を配置するまで、それを行う必要があります。
すべての行と列に対して同じ手順を繰り返しますと、ズーム画像が表示されます。
例えば:
以下に示す2行3列の画像があるとします。 そして、3〜3倍ズームする必要があります。
15 | 30 | 15 |
30 | 15 | 30 |
この場合のKは3です。 K = 3。
挿入する値の数は、k-1 = 3-1 = 2です。
行ごとのズーム
最初の2つの隣接するピクセルを取得します。 15と30です。
30から15を引きます。 30-15 = 15。
15をkで割ります。 15/k = 15/3 = 5。 私たちはそれをOPと呼びます。(opは単なる名前です)
OPを小さい数字に追加します。 15 + OP = 15 + 5 = 20。
OPを再度20に追加します。 20 + OP = 20 + 5 = 25。
k-1値を挿入する必要があるため、これを2回行います。
次に、次の2つの隣接するピクセルに対してこの手順を繰り返します。 最初の表に示されています。
値を挿入した後、挿入された値を昇順で並べ替える必要があるため、値の対称性が維持されます。
2番目の表に示されています
表1。
15 | 20 | 25 | 30 | 20 | 25 | 15 |
30 | 20 | 25 | 15 | 20 | 25 | 30 |
表2
列ごとのズーム
同じ手順を列ごとに実行する必要があります。 手順には、隣接する2つのピクセル値を取得し、次に大きい値から小さい値を減算することが含まれます。 その後、kで割る必要があります。 結果をOPとして保存します。 OPを小さい方に追加してから、OPを最初に追加した値に再度OPを追加します。 新しい値を挿入します。
ここであなたがすべてを得たもの。
15 | 20 | 25 | 30 | 25 | 20 | 15 |
20 | 21 | 21 | 25 | 21 | 21 | 20 |
25 | 22 | 22 | 20 | 22 | 22 | 25 |
30 | 25 | 20 | 15 | 20 | 25 | 30 |
新しい画像サイズ
新しい画像の寸法の計算式を計算する最良の方法は、元の画像と最終画像の寸法を比較することです。 元の画像の寸法は2 X 3でした。 そして、新しい画像の寸法は4 x 7です。
したがって、式は次のとおりです。
(K(行数-1)+ 1)X(K(列数-1)+ 1)
長所と短所
kタイムズームアルゴリズムの明確な利点の1つは、ピクセルレプリケーションアルゴリズムのパワーである任意の要因のズームを計算できることです。また、ゼロ次ホールドメソッドのパワーである改善された結果(ぼやけの少ない)を提供します。 したがって、2つのアルゴリズムの能力を備えています。
このアルゴリズムの唯一の難点は、最後にソートする必要があることです。これは追加のステップであり、計算コストが増加します。
空間解像度
画像解像度
画像の解像度はさまざまな方法で定義できます。 その1つのタイプは、ピクセル解像度とアスペクト比のチュートリアルで説明したピクセル解像度です。
このチュートリアルでは、空間解像度である別のタイプの解像度を定義します。
空間分解能
空間解像度は、画像の鮮明度はピクセル解像度で決定できないことを示します。 画像のピクセル数は重要ではありません。
空間解像度は次のように定義できます
画像内の最小の識別可能な詳細。 (デジタル画像処理-ゴンザレス、ウッズ-第2版)
または、別の方法で、空間解像度を1インチあたりの独立したピクセル値の数として定義できます。
手短に言えば、空間解像度とは、2種類の画像を比較して、どちらが鮮明か、もう一方が鮮明でないかを確認できないことです。 2つの画像を比較する必要がある場合、どちらがより鮮明であるか、どちらがより空間分解能があるかを確認するには、同じサイズの2つの画像を比較する必要があります。
例えば:
これらの2つの画像を比較して、画像の鮮明さを確認することはできません。
両方の画像は同じ人物のものですが、それは私たちが判断している条件ではありません。 左側の画像は、サイズが227 x 222のアインシュタインの画像をズームアウトしたものです。 一方、右側の画像のサイズは980 X 749であり、ズームされた画像でもあります。 それらを比較して、どちらが明確であるかを確認することはできません。 この条件では、ズームの要因は重要ではありません。重要なことは、これら2つの画像が等しくないことです。
そのため、空間解像度を測定するために、以下の写真が目的を果たします。
これで、これら2つの写真を比較できます。 両方の写真の寸法は同じで、227 X 222です。 これらを比較すると、左側の画像の空間解像度が高いか、右側の画像よりも鮮明であることがわかります。 それは、右側の写真がぼやけた画像だからです。
空間分解能の測定
空間解像度は明瞭さを指すため、デバイスごとに異なる測定が行われています。
例えば
- インチあたりのドット数
- インチあたりの行数
- インチあたりのピクセル
これらについては次のチュートリアルで詳しく説明しますが、簡単な紹介を以下に示します。
インチあたりのドット数
通常、モニターでは1インチあたりのドット数またはDPIが使用されます。
インチあたりの行数
通常、インチあたりのライン数またはLPIはレーザープリンターで使用されます。
インチあたりのピクセル
1インチあたりのピクセル数またはPPIは、タブレット、携帯電話などのさまざまなデバイスの測定値です。
インチあたりのピクセル、ドット、ライン
空間解像度の以前のチュートリアルでは、PPI、DPI、LPIの簡単な紹介について説明しました。 ここで、それらすべてについて正式に議論します。
インチあたりのピクセル
ピクセル密度またはピクセル/インチは、タブレット、携帯電話を含むさまざまなデバイスの空間解像度の尺度です。
PPIが高いほど、品質は高くなります。 それをより理解するために、その計算方法。 携帯電話のPPIを計算できます。
Samsung Galaxy S4の1インチあたりのピクセル数(PPI)の計算:
Samsung galaxy s4のPPIまたはピクセル密度は441です。 しかし、それはどのように計算されますか?
まず、ピタゴラスの定理により、ピクセル単位の対角解像度を計算します。
次のように指定できます。
ここで、aとbはピクセル単位の高さと幅の解像度で、cはピクセル単位の対角解像度です。
Samsung galaxy s4の場合、1080 x 1920ピクセルです。
これらの値を方程式に入れると、結果が得られます
C = 2202.90717
PPIを計算します
PPI = c/インチの対角サイズ
Samsung galaxy s4の対角サイズ(インチ)は5.0インチで、どこからでも確認できます。
PPI = 2202.90717/5.0
PPI = 440.58
PPI = 441(約)
つまり、Samsung galaxy s4のピクセル密度は441 PPIです。
1インチあたりのドット数
dpiは多くの場合PPIに関連していますが、これら2つの間に違いがあります。 DPIまたは1インチあたりのドット数は、プリンターの空間解像度の尺度です。 プリンターの場合、dpiとは、プリンターから画像が印刷されるときに1インチあたり何ドットのインクが印刷されるかを意味します。
1インチあたりの各ピクセルを1インチあたり1ドットで印刷する必要はありません。 1ピクセルの印刷に使用される1インチあたりのドット数が多い場合があります。 この理由は、ほとんどのカラープリンターがCMYKモデルを使用しているためです。 色は限られています。 プリンターはこれらの色から選択してピクセルの色を作成する必要がありますが、PC内では数十万色があります。
プリンターのdpiが高いほど、印刷されたドキュメントまたは用紙上の画像の品質が高くなります。
通常、レーザープリンターの一部は300のdpiを持ち、一部は600以上のdpiを持っています。
インチあたりの行数
dpiが1インチあたりのドット数を指す場合、1インチあたりのライナーは1インチあたりのドットの線を指します。 ハーフトーンスクリーンの解像度は、1インチあたりの行数で測定されます。
次の表は、プリンターのインチあたりの容量の一部を示しています。
Printer | LPI |
---|---|
Screen printing | 45-65 lpi |
Laser printer (300 dpi) | 65 lpi |
Laser printer (600 dpi) | 85-105 lpi |
Offset Press (newsprint paper) | 85 lpi |
Offset Press (coated paper) | 85-185 lpi |
グレーレベル解像度
画像解像度
解像度は、画像内のピクセルの総数として定義できます。 これは画像の解像度で説明されています。 また、画像の鮮明度はピクセル数ではなく、画像の空間解像度に依存することも説明しました。 これは、空間解像度で説明されています。 ここでは、グレーレベル解像度と呼ばれる別のタイプの解像度について説明します。
グレーレベル解像度
グレーレベルの解像度とは、画像の濃淡またはグレーレベルの予測可能または決定的な変化を指します。
短いグレーレベルでは、解像度はピクセルあたりのビット数に等しくなります。
ピクセルあたりのビット数と画像ストレージの要件のチュートリアルで、ピクセルあたりのビット数について既に説明しました。 ここでbppを簡単に定義します。
BPP
画像内の異なる色の数は、色の深さまたはピクセルあたりのビット数によって異なります。
数学的に
グレーレベルの解像度とピクセルあたりのビット数の間で確立できる数学的な関係は、次のように与えることができます。
この式では、Lはグレーレベルの数を表します。 また、グレーの濃淡として定義することもできます。 また、kはピクセルあたりのビット数またはビット数を指します。 したがって、ピクセルあたりのビットの2乗は、グレーレベルの解像度に等しくなります。
例えば:
上記のアインシュタインの画像はグレースケール画像です。 ピクセルあたり8ビットまたは8bppの画像であることを意味します。
グレーレベルの解像度を計算する場合、ここでそれをどのように行うかを示します。
つまり、グレーレベルの解像度は256です。 または、他の方法で、この画像には256種類のグレーの濃淡があると言えます。
画像のピクセルあたりのビット数が多いほど、そのグレーレベルの解像度は高くなります。
bppに関するグレーレベル解像度の定義
グレーレベルの解像度をレベルの観点からのみ定義する必要はありません。 ピクセルあたりのビット数で定義することもできます。
例えば
4 bppの画像が与えられ、そのグレーレベル解像度を計算するように求められた場合。 その質問には2つの答えがあります。
最初の答えは16レベルです。
2番目の答えは4ビットです。
グレーレベル解像度からbppを見つける
また、指定されたグレーレベル解像度からピクセルあたりのビット数を見つけることができます。 このためには、式を少しひねるだけです。
式1
この式はレベルを見つけます。 ピクセルあたりのビットまたはこの場合はkを見つけることになった場合、このように変更します。
K =対数底2(L)式(2)
最初の式では、レベル(L)とピクセルあたりのビット数(k)の関係が指数関数的であるためです。 今、それを元に戻さなければならないので、指数関数の逆は対数です。
グレーレベルの解像度からピクセルあたりのビット数を見つける例を見てみましょう。
例えば:
256レベルの画像が与えられた場合。 それに必要なピクセルあたりのビット数は何ですか。
方程式に256を入れると、得られます。
K =対数ベース2(256)
K = 8。
したがって、答えは8ビット/ピクセルです。
グレーレベルの解像度と量子化:
量子化は次のチュートリアルで正式に紹介されますが、ここではグレーレベルの解像度と量子化の関係について説明します。
グレーレベルの解像度は、信号のy軸にあります。 信号とシステムの概要のチュートリアルでは、アナログ信号のデジタル化には2つのステップが必要であることを研究しました。 サンプリングと量子化。
サンプリングはx軸で行われます。 そして、量子化はY軸で行われます。
つまり、画像のグレーレベル解像度のデジタル化は量子化で行われます。
量子化の概念
信号とシステムのチュートリアルで量子化を導入しました。 このチュートリアルでは、正式にデジタル画像と関連付けます。 まず、量子化について少し説明しましょう。
信号のデジタル化
前のチュートリアルで見たように、アナログ信号をデジタルにデジタル化するには、2つの基本的な手順が必要です。 サンプリングと量子化。 サンプリングはx軸で行われます。 これは、x軸(無限値)のデジタル値への変換です。
次の図は、信号のサンプリングを示しています。
デジタル画像に関連するサンプリング
サンプリングの概念は、ズームに直接関連しています。 より多くのサンプルを取得すればするほど、より多くのピクセルが得られます。 オーバーサンプリングはズームとも呼ばれます。 これは、サンプリングとズームのチュートリアルで説明されています。
しかし、信号のデジタル化の話もサンプリングで終わるわけではなく、量子化として知られる別のステップがあります。
量子化とは
量子化はサンプリングの反対です。 y軸で行われます。 画像を量子化するとき、実際には信号を量子(パーティション)に分割します。
信号のx軸には座標値があり、y軸には振幅があります。 したがって、振幅のデジタル化は量子化と呼ばれます。
ここでどのように行われます
この画像では、信号が3つの異なるレベルに定量化されていることがわかります。 つまり、画像をサンプリングするときに、実際には多くの値を収集し、量子化では、これらの値にレベルを設定します。 これは、下の画像でより明確になります。
サンプリングに示されている図では、サンプルが取得されていますが、グレーレベル値の連続範囲まで垂直に広がっています。 上記の図では、これらの垂直方向の範囲の値は、5つの異なるレベルまたはパーティションに量子化されています。 0黒から4白までの範囲。 このレベルは、必要な画像の種類によって異なる場合があります。
量子化とグレーレベルの関係については、以下でさらに説明します。
量子化とグレーレベル解像度の関係:
上記の量子化された図には、5つの異なるレベルのグレーがあります。 つまり、この信号から形成された画像には、5色しかありません。 それは、グレーのいくつかの色を持つ多かれ少なかれ白黒の画像でしょう。 ここで、画像の品質をより良くするために、ここでできることが1つあります。 つまり、レベルを上げるか、グレーレベルの解像度を上げるかです。 このレベルを256に上げると、グレースケールイメージがあることを意味します。 シンプルな白黒画像よりもはるかに優れています。
現在、256、または5、または選択したレベルはグレーレベルと呼ばれます。 前のグレーレベル解像度のチュートリアルで説明した公式を思い出してください。
グレーレベルは2つの方法で定義できることを説明しました。 これらはどちらでしたか。
- グレーレベル=ピクセルあたりのビット数(BPP)(式のk)
- グレーレベル=ピクセルごとのレベル数。
この場合、グレーレベルは256です。 ビット数を計算する必要がある場合、単純に式に値を入れます。 256レベルの場合、256種類のグレーの濃淡とピクセルあたり8ビットがあるため、画像はグレースケール画像になります。
グレーレベルを下げる
次に、画像のグレーレベルを下げて、画像への影響を確認します。
例えば
256個の異なるレベルを持つ8bppの画像があるとします。 これはグレースケール画像であり、画像は次のようになります。
256グレーレベル
次に、グレーレベルの削減を開始します。 最初にグレーレベルを256から128に減らします。
128のグレーレベル
グレーレベルを半分に減らした後の画像には、あまり影響はありません。 もう少し減らしましょう。
64のグレーレベル
それでもそれほど効果はありませんが、レベルをさらに下げることができます。
32のグレーレベル
驚いたことに、まだ少し効果があります。 アインシュタインの写真ですが、レベルをさらに下げることができます。
16のグレーレベル
ここでブーム、私たちは行く、画像は最終的に明らかになり、それはレベルによって影響を受けることです。
8つのグレーレベル
4つのグレーレベル
さらに2レベルを下げる前に、グレーレベルを下げることで画像がひどく歪んでいることが簡単にわかります。 これを2レベルに減らします。これは単純な白黒レベルにすぎません。 これは、画像が単純な白黒画像になることを意味します。
2つのグレーレベル
それは私たちが達成できる最後のレベルです。それをさらに減らすと、単に黒い画像になり、解釈できないからです。
輪郭
ここで興味深い観察があります。グレーレベルの数を減らすと、特殊なタイプの効果が画像に現れます。これは16グレーレベルの画像ではっきりと見ることができます。 この効果は、輪郭として知られています。
ISO選好曲線
この効果に対する答え、それが現れる理由は、Isoの選好曲線にあります。 これらについては、次の等高線およびIso設定曲線のチュートリアルで説明します。
ISO選好曲線
コンターとは何ですか?
画像のグレーレベルの数を減らすと、一部の偽色またはエッジが画像に表示され始めます。 これは、量子化の最後のチュートリアルで示されています。
それを見てみましょう。
256種類のグレーまたはグレーレベルの陰影を持つ8bppの画像(グレースケール画像)があるとします。
この上の写真には256種類のグレーの濃淡があります。 128に減らし、さらに64に減らすと、画像はほぼ同じになります。 しかし、それをさらに32の異なるレベルに減らすと、次のような画像が得られました。
よく見ると、画像に効果が現れ始めていることがわかります。これらの効果は、16レベルにさらに下げると、より見やすくなり、このような画像が得られました。
この画像に表示されるこれらの線は輪郭線として知られ、上記の画像で非常によく見えます。
輪郭の増減
グレーレベルの数を減らすと輪郭の効果が大きくなり、グレーレベルの数を増やすと効果が減少します。 両方とも逆です
VS
これは、より多くの量子化を意味し、より輪郭に影響し、逆もまた同様です。 しかし、これは常にそうです。 答えはノーだ。 これは、以下で説明する他の何かに依存します。
アイソプリファレンス曲線
グレーレベルと輪郭のこの効果について調査が行われ、その結果はグラフにIso優先曲線として知られる曲線の形で示されました。
Isopreference曲線の現象は、輪郭の効果がグレーレベルの解像度の低下だけでなく、画像の詳細にも依存することを示しています。
研究の本質は次のとおりです。
画像のディテールがより高い場合、グレーレベルが量子化されると、ディテールの少ない画像と比較して、この画像に後で輪郭の効果が現れます。
元の研究によると、研究者はこれらの3つの画像を撮影し、3つの画像すべてでグレーレベルの解像度を変えました。
画像は
詳細度
最初の画像には顔のみが含まれているため、非常に詳細ではありません。 2番目の画像には、カメラマン、カメラ、カメラスタンド、背景オブジェクトなど、画像内に他のオブジェクトもいくつかあります。 一方、3番目の画像には他のすべての画像よりも詳細があります。
実験
グレーレベルの解像度はすべての画像で異なり、聴衆はこれら3つの画像を主観的に評価するように求められました。 評価後、結果に応じてグラフが作成されました。
結果
結果はグラフに描かれました。 グラフ上の各曲線は、1つの画像を表します。 x軸の値はグレーレベルの数を表し、y軸の値はピクセルあたりのビット数(k)を表します。
以下にグラフを示します。
このグラフによれば、顔である最初の画像は、他の2つの画像すべてよりも早く輪郭にさらされていたことがわかります。 カメラマンのものである2番目の画像は、グレーレベルが低下したときに最初の画像の少し後の輪郭になります。 これは、最初の画像よりも詳細があるためです。 そして、3番目の画像は、最初の2つの画像i-eの後、4 bppの後、かなりの輪郭になりました。 これは、この画像に詳細があるためです。
結論
したがって、より詳細な画像の場合、アイソプリファレンス曲線はますます垂直になります。 また、大量のディテールを持つ画像の場合、必要なグレーレベルはほとんどありません。
ディザリングの概念
量子化と輪郭の最後の2つのチュートリアルでは、画像のグレーレベルを下げると、画像を表すのに必要な色の数が減ることがわかりました。 グレーレベルを2から2に下げると、表示される画像の空間解像度が低くなるか、あまり魅力的ではなくなります。
ディザリング
ディザリングとは、実際には存在しない色の錯覚を作成するプロセスです。 これは、ピクセルのランダムな配置によって行われます。
例えば。 この画像を検討してください。
これは、白黒のピクセルのみが含まれる画像です。 そのピクセルは、以下に示す別の画像を形成する順序で配置されます。 ピクセルの配列は変更されていますが、ピクセルの量は変更されていません。
ディザリングを使用する理由
なぜディザリングが必要なのか、その答えは量子化との関係にあります。
量子化によるディザリング
最後のレベルまで量子化を実行すると、最後のレベル(レベル2)に来る画像は次のようになります。
ここで画像からわかるように、特に左腕とアインシュタインの画像の後ろを見る場合、画像はあまり鮮明ではありません。 また、この写真には、アインシュタインに関する多くの情報や詳細がありません。
この画像をより詳細な画像に変更する場合、ディザリングを実行する必要があります。
ディザリングを実行する
まず、しきい値設定に取り組みます。 通常、ディザリングはしきい値処理を改善するために機能しています。 しきい値設定中、画像のグラデーションが滑らかな場所にシャープなエッジが表示されます。
しきい値設定では、単純に定数値を選択します。 その値より上のすべてのピクセルは1と見なされ、その値より下のすべての値は0と見なされます。
この画像はしきい値処理後に取得されました。
この画像では値がすでに0と1または白黒であるため、画像に大きな変化はありません。
次に、ランダムなディザリングを実行します。 ピクセルのランダムな配置。
より詳細な情報をわずかに提供する画像が得られましたが、そのコントラストは非常に低くなっています。
そのため、コントラストを高めるディザリングをさらに行います。 取得した画像は次のとおりです。
ここで、ランダムディザリングの概念としきい値を組み合わせて、このような画像を得ました。
ご覧のとおり、画像のピクセルを再配置するだけで、これらすべての画像が得られました。 この再配置はランダムにすることも、何らかの基準に従って行うこともできます。
ヒストグラムの紹介
画像処理でのヒストグラムの使用について説明する前に、まずヒストグラムとは何か、どのように使用されるか、そしてヒストグラムの例を見てから、ヒストグラムの理解を深めます。
ヒストグラム
ヒストグラムはグラフです。 何でもの頻度を示すグラフ。 通常、ヒストグラムには、データセット全体のデータの発生頻度を表すバーがあります。
ヒストグラムには、x軸とy軸の2つの軸があります。
x軸には、頻度をカウントする必要があるイベントが含まれます。
y軸には周波数が含まれます。
棒の高さが異なると、データの発生頻度が異なります。
通常、ヒストグラムは次のようになります。
これで、このヒストグラムの例が作成されます
例
プログラミングの学生のクラスを考えて、あなたは彼らにpythonを教えています。
学期の終わりに、表に示されているこの結果を得ました。 しかし、それは非常に乱雑であり、クラスの全体的な結果を示していません。 そのため、クラスの成績の全体的な発生頻度を示す結果のヒストグラムを作成する必要があります。 ここでどのようにそれをするつもりです。
結果シート
Name | Grade |
---|---|
John | A |
Jack | D |
Carter | B |
Tommy | A |
Lisa | C+ |
Derek | A- |
Tom | B+ |
結果シートのヒストグラム
次に、x軸とy軸に表示されるものを見つける必要があります。
確かなことが1つあります。y軸には周波数が含まれているため、x軸に表示されるものです。 X軸には、頻度を計算する必要があるイベントが含まれます。 この場合、x軸にはグレードが含まれます。
次に、画像でヒストグラムを使用する方法を説明します。
画像のヒストグラム
他のヒストグラムと同様に、画像のヒストグラムも頻度を示します。 しかし、画像ヒストグラムは、ピクセル強度値の頻度を示しています。 画像ヒストグラムでは、x軸はグレーレベルの強度を示し、y軸はこれらの強度の頻度を示します。
例えば
アインシュタインの上の写真のヒストグラムは次のようになります
ヒストグラムのx軸は、ピクセル値の範囲を示します。 8 bppの画像なので、256レベルのグレーまたはグレーの陰影が含まれています。 それが、x軸の範囲が0から始まり、255で終わり、50のギャップがある理由です。 一方、y軸は、これらの強度のカウントです。
グラフからわかるように、頻度の高いバーのほとんどは、暗い部分である前半部分にあります。 これは、取得した画像がより暗いことを意味します。 これは画像からも証明できます。
ヒストグラムの用途
ヒストグラムには、画像処理で多くの用途があります。 前述の最初の使用法は、画像の分析です。 ヒストグラムを見るだけで画像について予測できます。 体の骨のX線を見るようなものです。
ヒストグラムの2番目の用途は、明るさを目的としています。 ヒストグラムは、画像の明るさに広く適用されます。 明るさだけでなく、ヒストグラムは画像のコントラストの調整にも使用されます。
ヒストグラムのもう1つの重要な用途は、画像を均等化することです。
最後になりましたが、ヒストグラムはしきい値処理に広く使用されます。 これは主にコンピュータービジョンで使用されます。
明るさとコントラスト
輝度
明るさは相対的な用語です。 それはあなたの視覚に依存します。 明るさは相対的な用語であるため、明るさは、比較する光源に対する光源の出力エネルギー量として定義できます。 場合によっては、画像が明るいと簡単に言うことができます。また、場合によっては、認識しにくいこともあります。
例えば
これらの画像の両方を見て、どちらが明るいかを比較してください。
右側の画像が左側の画像に比べて明るいことが簡単にわかります。
しかし、右側の画像が最初の画像よりも暗くなると、左側の画像は左側よりも明るくなると言えます。
画像を明るくする方法。
輝度は、画像マトリックスへの単純な加算または減算により、単純に増減できます。
5行5列のこの黒い画像を考えます
すでにわかっているので、各画像の背後には、ピクセル値を含むマトリックスがあります。 この画像マトリックスを以下に示します。
0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 |
マトリックス全体がゼロで埋められているため、画像は非常に暗くなっています。
次に、別の同じ黒い画像と比較して、この画像が明るくなるかどうかを確認します。
それでも両方の画像は同じですが、今度はimage1に対していくつかの操作を実行します。これにより、2番目の画像よりも明るくなります。
ここでは、画像1の各マトリックス値に1の値を追加するだけです。 画像1を追加すると、次のようになります。
ここで再び画像2と比較し、違いを確認します。
両方の画像が同じように見えるため、どちらの画像が明るいかはまだわかりません。
次に、画像1の各マトリックス値に50を加算し、画像がどのようになったかを確認します。
出力は次のとおりです。
もう一度、画像2と比較します。
これで、画像1が画像2よりわずかに明るいことがわかります。 さらに、画像1のマトリックスに別の45値を追加し、今回は両方の画像を再度比較します。
これを比較すると、この画像1が画像2よりも明らかに明るいことがわかります。
古い画像よりも明るくなっています1。 この時点で、image1のマトリックスには、最初に5、50、45の順に加算する各インデックスに100が含まれています。 5 + 50 + 45 = 100です。
コントラスト
コントラストは、画像の最大ピクセル強度と最小ピクセル強度の差として簡単に説明できます。
例えば。
最終的な画像1の明るさを考慮してください。
この画像のマトリックスは次のとおりです。
100 | 100 | 100 | 100 | 100 |
100 | 100 | 100 | 100 | 100 |
100 | 100 | 100 | 100 | 100 |
100 | 100 | 100 | 100 | 100 |
100 | 100 | 100 | 100 | 100 |
このマトリックスの最大値は100です。
このマトリックスの最小値は100です。
コントラスト=最大ピクセル強度(減算)最小ピクセル強度
100(減算)100
0
0は、この画像のコントラストが0であることを意味します。
画像変換
画像変換とは何かを説明する前に、変換とは何かを説明します。
変換
変換は機能です。 いくつかの操作を実行した後、あるセットを別のセットにマップする関数。
デジタル画像処理システム
入門チュートリアルでは、デジタル画像処理では、入力が画像になり、出力も画像になるシステムを開発することを既に見てきました。 また、システムは入力画像に対して何らかの処理を実行し、その出力を処理済み画像として提供します。 以下に示します。
画像を処理して出力に変換するこのデジタルシステム内で適用される関数は、変換関数と呼ぶことができます。
変換または関係を示しているように、image1がimage2に変換される方法。
画像変換。
この方程式を考えてください
G(x、y)= T \ {f(x、y)}
この方程式では、
F(x、y)=変換関数を適用する必要がある入力画像。
G(x、y)=出力画像または処理された画像。
Tは変換関数です。
入力画像と処理された出力画像の間のこの関係は、次のように表すこともできます。
s = T(r)
ここで、rは実際には任意のポイントでのf(x、y)のピクセル値またはグレーレベル強度です。 sは、任意のポイントでのg(x、y)のピクセル値またはグレーレベル強度です。
基本的なグレーレベル変換については、基本的なグレーレベル変換のチュートリアルで説明しました。
次に、非常に基本的な変換関数のいくつかについて説明します。
例
この変換関数を検討してください。
ポイントrを256に、ポイントpを127にしましょう。 この画像は1 bpp画像であると考えてください。 つまり、強度のレベルは0と1の2レベルしかありません。 したがって、この場合、グラフで示される変換は次のように説明できます。
127(ポイントp)未満のピクセル強度値はすべて0で、黒を意味します。 また、127より大きいピクセル強度値はすべて1で、白を意味します。 しかし、127の正確なポイントでは、伝送に突然の変化があるため、その正確なポイントで値が0または1になることはわかりません。
数学的に、この変換関数は次のように表すことができます。
このような別の変換を検討してください
この特定のグラフを見ると、入力画像と出力画像の間に直線の遷移線が表示されます。
入力画像の各ピクセルまたは強度値に対して、出力画像の同じ強度値があることを示しています。 つまり、出力イメージは入力イメージの正確なレプリカです。
次のように数学的に表すことができます。
g(x、y)= f(x、y)
この場合の入力画像と出力画像を次に示します。
ヒストグラムスライディング
ヒストグラムの基本概念は、「ヒストグラムの概要」のチュートリアルで説明されています。 しかし、ここでヒストグラムを簡単に紹介します。
ヒストグラム
ヒストグラムは、データの発生頻度を示すグラフに他なりません。 ヒストグラムは画像処理で多くの用途がありますが、ここでは、ヒストグラムスライディングと呼ばれる1人のユーザーについて説明します。
ヒストグラムのスライド
ヒストグラムのスライドでは、完全なヒストグラムを単に右または左にシフトします。 ヒストグラムの右または左へのシフトまたはスライドにより、画像に明確な変化が見られます。このチュートリアルでは、明るさを操作するためにヒストグラムのスライドを使用します。
i-e:明るさという用語は、明るさとコントラストの紹介のチュートリアルで説明されています。 ただし、ここで簡単に定義します。
輝度
明るさは相対的な用語です。 明るさは、特定の光源が発する光の強度として定義できます。
コントラスト
コントラストは、画像の最大ピクセル強度と最小ピクセル強度の差として定義できます。
スライドヒストグラム
ヒストグラムスライディングを使用した輝度の増加
この画像のヒストグラムを以下に示します。
このヒストグラムのy軸には、頻度またはカウントがあります。 また、x軸には、グレーレベル値があります。 上記のヒストグラムからわかるように、カウントが700を超えるグレーレベル強度は、前半部分にあり、より黒い部分に向かっていることを意味します。 それが、少し暗い画像を取得した理由です。
それを明るくするために、ヒストグラムを右に、またはより白い部分に向かってスライドさせます。 そのためには、この画像に少なくとも50の値を追加する必要があります。 上記のヒストグラムからわかるように、この画像には0ピクセルの強度、つまり純粋な黒があります。 したがって、0から50を追加すると、すべての値が0の強度から50の強度にシフトし、残りのすべての値はそれに応じてシフトします。
やってみましょう。
ここで、各ピクセル強度に50を追加した後に得られたもの。
以下に画像を示します。
そして、そのヒストグラムは以下に示されています。
これらの2つの画像とそのヒストグラムを比較して、どのような変更が必要かを確認します。
結論
新しいヒストグラムから明らかなように、すべてのピクセル値が右にシフトされ、その効果が新しい画像で確認できます。
ヒストグラムのスライドを使用して輝度を下げる
この新しい画像の明るさを古い画像がより明るく見える程度に下げる場合、新しい画像のすべてのマトリックスから値を差し引く必要があります。 減算する値は80です。 元の画像にすでに50を追加して新しい明るい画像が得られたので、今より暗くしたい場合は、少なくとも50を超える値を減算する必要があります。
そして、これは新しい画像から80を引いた後のものです。
結論
新しい画像のヒストグラムから、すべてのピクセル値が右にシフトされていることが明らかであり、したがって、新しい画像がより暗くなり、元の画像がこの新しい画像と比較して明るく見えることを画像から検証できます。
ヒストグラムストレッチ
ヒストグラムの紹介のチュートリアルで説明したHistogramのもう1つの利点は、コントラストの強化です。
コントラストを高めるには2つの方法があります。 1つ目は、コントラストを高めるヒストグラムストレッチと呼ばれます。 2つ目は、コントラストを高めるヒストグラムイコライゼーションと呼ばれ、ヒストグラムイコライゼーションのチュートリアルで説明しました。
コントラストを高めるためのヒストグラムストレッチングについて説明する前に、コントラストを簡単に定義します。
コントラスト
コントラストは、最大ピクセル強度と最小ピクセル強度の差です。
この画像を検討してください。
この画像のヒストグラムを以下に示します。
次に、この画像からコントラストを計算します。
コントラスト= 225。
次に、画像のコントラストを上げます。
画像のコントラストを上げる
画像のヒストグラムを引き伸ばしてコントラストを上げるための式は次のとおりです。
この式では、最小および最大ピクセル強度にグレーのレベルを掛けて求める必要があります。 この場合、画像は8bppなので、グレーのレベルは256です。
最小値は0で、最大値は225です。 したがって、この場合の式は
ここで、f(x、y)は各ピクセル強度の値を示します。 画像の各f(x、y)について、この式を計算します。
これを行った後、コントラストを高めることができます。
次の画像は、ヒストグラムストレッチングを適用した後に表示されます。
この画像のストレッチヒストグラムを以下に示します。
ヒストグラムの形状と対称性に注意してください。 ヒストグラムが引き伸ばされるか、他の方法で拡張されます。 それを見てください。
この場合、画像のコントラストは次のように計算できます。
コントラスト= 240
したがって、画像のコントラストが向上していると言えます。
注意:コントラストを上げるこの方法は常に機能するわけではありませんが、場合によっては失敗します。
ヒストグラムストレッチングの失敗
で説明したように、場合によってはアルゴリズムが失敗します。 これらのケースには、ピクセル強度が0と255が画像に存在する場合の画像が含まれます
ピクセル強度0と255が画像に存在する場合、その場合、それらは最小および最大ピクセル強度になり、このような式を台無しにします。
オリジナルフォーミュラ
失敗ケースの値を式に入れる:
式が与える単純化
これは、出力画像が処理画像と等しいことを意味します。 つまり、この画像ではヒストグラムストレッチングの効果はありません。
確率の概要
PMFとCDFの両方の用語は、確率と統計に属します。 今、あなたの心に浮かぶ疑問は、なぜ確率を研究しているのかということです。 これは、PMFとCDFのこれら2つの概念が、ヒストグラムイコライゼーションの次のチュートリアルで使用されるためです。 したがって、PMFとCDFの計算方法がわからない場合は、画像にヒストグラム均等化を適用できません。
PMFとは何ですか?
PMFは確率質量関数の略です。 名前が示すように、データセット内の各数値の確率を示します。または、基本的に各要素のカウントまたは頻度を示していると言えます。
PMFの計算方法
2つの異なる方法からPMFを計算します。 次のチュートリアルでは、マトリックスからPMFを計算する必要があり、画像は2次元マトリックスにすぎないため、最初はマトリックスからです。
次に、ヒストグラムからPMFを計算する別の例を取り上げます。
このマトリックスを検討してください。
1 | 2 | 7 | 5 | 6 |
7 | 2 | 3 | 4 | 5 |
0 | 1 | 5 | 7 | 3 |
1 | 2 | 5 | 6 | 7 |
6 | 1 | 0 | 3 | 4 |
ここで、このマトリックスのPMFを計算する場合、ここでどのように行うのかを説明します。
最初に、マトリックスの最初の値を取得し、次に、この値がマトリックス全体に表示される時間をカウントします。 カウント後、それらはヒストグラムまたは以下のような表のいずれかで表すことができます。
PMF
0 | 2 | 2/25 |
1 | 4 | 4/25 |
2 | 3 | 3/25 |
3 | 3 | 3/25 |
4 | 2 | 2/25 |
5 | 4 | 4/25 |
6 | 3 | 3/25 |
7 | 4 | 4/25 |
カウントの合計は、値の総数と等しくなければならないことに注意してください。
ヒストグラムからPMFを計算する
上記のヒストグラムは、ピクセルあたり8ビットの画像のグレーレベル値の頻度を示しています。
PMFを計算する必要がある場合、垂直軸から各バーのカウントを単純に見て、合計カウントで除算します。
したがって、上記のヒストグラムのPMFはこれです。
上記のヒストグラムで注意すべきもう1つの重要な点は、単調に増加していないことです。 したがって、単調に増加させるために、CDFを計算します。
CDFとは何ですか?
CDFは累積分布関数の略です。 これは、PMFによって計算されるすべての値の累積合計を計算する関数です。 基本的に前のものを合計します。
計算方法は?
ヒストグラムを使用してCDFを計算します。 ここでどのように行われます。 PMFを示す上記のヒストグラムを検討してください。
このヒストグラムは単調に増加しないため、単調に成長します。
最初の値をそのまま保持し、2番目の値に最初の値を追加します。
上記のPMF関数のCDFは次のとおりです。
上のグラフからわかるように、PMFの最初の値はそのまま残っています。 PMFの2番目の値が最初の値に追加され、128を超えます。 PMFの3番目の値がCDFの2番目の値に加算され、110/110が1になります。
また、現在、関数は単調に成長しており、これはヒストグラム均等化に必要な条件です。
ヒストグラムイコライゼーションでのPMFおよびCDFの使用
ヒストグラム均等化
ヒストグラム均等化については次のチュートリアルで説明しますが、ヒストグラム均等化の簡単な紹介を以下に示します。
ヒストグラム均等化は、画像のコントラストを強調するために使用されます。
このチュートリアルの冒頭で説明されているように、PMFとCDFはどちらもヒストグラムイコライゼーションで使用されます。 ヒストグラム均等化では、最初と2番目のステップはPMFとCDFです。 ヒストグラムの均等化では、画像のすべてのピクセル値を均等化する必要があります。 したがって、PMFは、画像内の各ピクセル値の確率を計算するのに役立ちます。 また、CDFはこれらの値の累積合計を提供します。 さらに、このCDFにレベルを掛けて新しいピクセル強度を見つけ、古い値にマッピングし、ヒストグラムを均等化します。
ヒストグラム均等化
ヒストグラムストレッチを使用すると、コントラストを高めることができることは既に確認しました。 このチュートリアルでは、ヒストグラムのイコライゼーションを使用してコントラストを向上させる方法を説明します。
ヒストグラム均等化を実行する前に、ヒストグラムの均等化で使用される2つの重要な概念を知っておく必要があります。 これら2つの概念は、PMFとCDFとして知られています。
これらについては、PMFおよびCDFのチュートリアルで説明しています。 ヒストグラムイコライゼーションの概念を理解するために、それらをご覧ください。
ヒストグラム均等化
コントラストを高めるためにヒストグラムの均等化が使用されます。 これでコントラストが常に増加する必要はありません。 ヒストグラムの均等化が悪化する場合があります。 その場合、コントラストは低下します。
以下の画像を単純な画像として、ヒストグラムの均等化を開始します。
画像
この画像のヒストグラム
この画像のヒストグラムを以下に示します。
次に、ヒストグラムの等化を実行します。
PMF
最初に、この画像のすべてのピクセルのPMF(確率質量関数)を計算する必要があります。 PMFの計算方法がわからない場合は、PMF計算のチュートリアルをご覧ください。
CDF
次のステップでは、CDF(累積分布関数)の計算を行います。 CDFの計算方法がわからない場合も、CDF計算のチュートリアルをご覧ください。
グレーレベルに従ってCDFを計算する
たとえば、これについて考えてみましょう。2番目のステップで計算されるCDFは次のようになります。
Gray Level Value | CDF |
---|---|
0 | 0.11 |
1 | 0.22 |
2 | 0.55 |
3 | 0.66 |
4 | 0.77 |
5 | 0.88 |
6 | 0.99 |
7 | 1 |
次に、このステップでは、CDF値に(グレーレベル(マイナス)1)を掛けます。
3 bppの画像があると考えてください。 すると、レベルの数は8です。 1を引く8は7です。 したがって、CDFに7を掛けます。 ここで、乗算後に得たもの。
Gray Level Value | CDF | CDF * (Levels-1) |
---|---|---|
0 | 0.11 | 0 |
1 | 0.22 | 1 |
2 | 0.55 | 3 |
3 | 0.66 | 4 |
4 | 0.77 | 5 |
5 | 0.88 | 6 |
6 | 0.99 | 6 |
7 | 1 | 7 |
これで最後のステップになり、新しいグレーレベル値をピクセル数にマッピングする必要があります。
古いグレーレベル値にこれらのピクセル数があると仮定しましょう。
Gray Level Value | Frequency |
---|---|
0 | 2 |
1 | 4 |
2 | 6 |
3 | 8 |
4 | 10 |
5 | 12 |
6 | 14 |
7 | 16 |
ここで、新しい値をにマッピングすると、これが得られます。
Gray Level Value | New Gray Level Value | Frequency |
---|---|---|
0 | 0 | 2 |
1 | 1 | 4 |
2 | 3 | 6 |
3 | 4 | 8 |
4 | 5 | 10 |
5 | 6 | 12 |
6 | 6 | 14 |
7 | 7 | 16 |
次に、これらの新しい値をヒストグラムにマッピングします。これで完了です。
この手法を元の画像に適用してみましょう。 適用後、次の画像とそのヒストグラムが得られました。
ヒストグラム均等化画像
この画像の累積分布関数
ヒストグラム等化ヒストグラム
ヒストグラムと画像の両方を比較する
結論
画像から明らかなように、新しい画像のコントラストが強化され、ヒストグラムも均等化されていることがわかります。 また、ここで注意すべき重要な点が1つあります。これは、ヒストグラムの均等化中に、ヒストグラムの全体的な形状が変化することです。
グレーレベル変換
基本的な変換のチュートリアルで、いくつかの基本的な変換について説明しました。 このチュートリアルでは、基本的なグレーレベル変換のいくつかを見ていきます。
画像補正
画像を強調すると、非強調画像と比較して、より良いコントラストとより詳細な画像が得られます。 画像補正には非常に用途があります。 医療画像、リモートセンシングでキャプチャされた画像、衛星e.t.cからの画像を強化するために使用
変換関数は以下のとおりです
s = T(r)
ここで、rは入力画像のピクセル、sは出力画像のピクセルです。 Tは、rの各値をsの各値にマッピングする変換関数です。 画像の改善は、以下で説明するグレーレベル変換によって行うことができます。
グレーレベル変換
3つの基本的なグレーレベル変換があります。
- リニア
- 対数
- パワー-法律
これらの遷移の全体的なグラフを以下に示します。
線形変換
最初に線形変換を見てみましょう。 線形変換には、単純な恒等変換と負の変換が含まれます。 アイデンティティ変換については、画像変換のチュートリアルで説明しましたが、この変換の簡単な説明をここに示しました。
アイデンティティ遷移は直線で示されます。 この遷移では、入力画像の各値は、出力画像の他の各値に直接マッピングされます。 その結果、同じ入力画像と出力画像が得られます。 そのため、ID変換と呼ばれます。 以下に示されています。
負の変換
2番目の線形変換は負の変換で、恒等変換の逆です。 負の変換では、入力画像の各値がL-1から差し引かれ、出力画像にマッピングされます。
結果はいくらかこのようになります。
入力画像
出力画像
この場合、次の移行が行われました。
s =(L – 1)– r
Einsteinの入力画像は8 bpp画像であるため、この画像のレベル数は256です。 方程式に256を入れると、次のようになります
s = 255 – r
したがって、各値から255が減算され、結果の画像が上に示されています。 そのため、明るいピクセルは暗くなり、暗い画像は明るくなります。 そして、それはイメージネガになります。
以下のグラフに示されています。
対数変換
対数変換にはさらに2種類の変換が含まれます。 対数変換および逆対数変換。
ログ変換
ログ変換はこの式で定義できます
s = c log(r + 1)。
ここで、sとrは出力画像と入力画像のピクセル値、cは定数です。 画像にピクセル強度0がある場合、log(0)は無限に等しいため、値1が入力画像の各ピクセル値に追加されます。 したがって、最小値を少なくとも1にするために1が追加されます。
対数変換中、画像の暗いピクセルは、より高いピクセル値と比較して拡張されます。 高いピクセル値は、対数変換で圧縮されたものです。 これにより、次の画像が強化されます。
ログ変換のcの値は、探している機能強化の種類を調整します。
入力画像
ログ変換画像
逆対数変換は、対数変換の反対です。
パワー-法律の変革
nのべき乗とn番目の根の変換を含む、さらに2つのべき乗変換があります。 これらの変換は次の式で指定できます。
s = cr ^γ
この記号γはガンマと呼ばれ、この変換はガンマ変換とも呼ばれます。
γの値の変化は、画像の強調を変化させます。 異なるディスプレイデバイス/モニターには独自のガンマ補正があります。そのため、画像を異なる強度で表示します。
このタイプの変換は、さまざまなタイプのディスプレイデバイスの画像を強化するために使用されます。 異なるディスプレイデバイスのガンマは異なります。 たとえば、CRTのガンマは1.8から2.5の間にあり、CRTに表示される画像が暗いことを意味します。
ガンマを修正します。
s = cr ^γ
s = cr ^(1/2.5)
同じ画像ですが、ガンマ値が異なります。
例えば
ガンマ= 10
ガンマ= 8
ガンマ= 6
畳み込みの概念
このチュートリアルは、信号とシステムの非常に重要な概念の1つです。 畳み込みについて完全に説明します。 それは何ですか? それはなぜです? それで何を達成できますか?
画像処理の基本からの畳み込みについて説明します。
画像処理とは
画像処理のチュートリアルと信号およびシステムで説明したように、画像は2次元信号にすぎないため、画像処理は多かれ少なかれ信号とシステムの研究です。
また、画像処理では、入力が画像で出力が画像になるシステムを開発していることを説明しました。 これは図で表されます。
ボックスは、上の図で「デジタル画像処理システム」とラベル付けされているもので、ブラックボックスと考えることができます
次のように表現できます。
今までどこに着いたの
ここまで、画像を操作する2つの重要な方法について説明してきました。 または、言い換えれば、ブラックボックスはこれまで2つの異なる方法で機能します。
画像を操作する2つの異なる方法は
グラフ(ヒストグラム)
この方法は、ヒストグラム処理と呼ばれます。 コントラストの向上、画像の強調、明るさなどの以前のチュートリアルで詳細に説明しました。
変換関数
この方法は変換と呼ばれ、異なるタイプの変換といくつかのグレーレベル変換について説明しました
画像を扱う別の方法
ここでは、画像を扱う別の方法について説明します。 この他の方法は畳み込みとして知られています。 通常、画像処理に使用されるブラックボックス(システム)は、LTIシステムまたは線形時不変システムです。 線形とは、出力が常に線形であり、対数や指数などのシステムではないことを意味します。 そして、時間不変とは、時間の経過とともに変化しないシステムを意味します。
そこで、この3番目の方法を使用します。 として表すことができます。
数学的には2つの方法で表すことができます
- g(x、y)= h(x、y)* f(x、y)*
これは「画像と畳み込まれたマスク」として説明できます。
Or
- g(x、y)= f(x、y)* h(x、y)*
「マスクで畳み込まれた画像」として説明できます。
畳み込み演算子(*)は可換であるため、これを表すには2つの方法があります。 h(x、y)はマスクまたはフィルターです。
マスクとは?
マスクも信号です。 2次元の行列で表すことができます。 マスクは通常1x1、3x3、5x5、7x7のオーダーです。 それ以外の場合はマスクの中央を見つけることができないため、マスクは常に奇数でなければなりません。 なぜマスクの真ん中を見つける必要があるのですか。 答えは、畳み込みを実行する方法のトピックの下にありますか?
畳み込みの実行方法
画像の畳み込みを実行するには、次の手順を実行する必要があります。
- マスクを(水平および垂直に)1回だけ反転します
- マスクを画像上にスライドさせます。
- 対応する要素を乗算してから追加します *画像のすべての値が計算されるまで、この手順を繰り返します。
畳み込みの例
畳み込みを実行しましょう。 ステップ1は、マスクを反転することです。
Mask
マスクをこれにしましょう。
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
マスクを水平方向に反転
3 | 2 | 1 |
6 | 5 | 4 |
9 | 8 | 7 |
マスクを垂直に反転
9 | 8 | 7 |
6 | 5 | 4 |
3 | 2 | 1 |
画像
このような画像を考えてみましょう
2 | 4 | 6 |
8 | 10 | 12 |
14 | 16 | 18 |
畳み込み
画像上の畳み込みマスク。 この方法で行われます。 画像の各要素にマスクの中心を配置します。 対応する要素を乗算してから、それらを追加し、マスクの中心を配置する画像の要素に結果を貼り付けます。
赤色のボックスはマスクであり、オレンジ色の値はマスクの値です。 黒いカラーボックスと値は画像に属します。 画像の最初のピクセルについて、値は次のように計算されます
最初のピクセル=(5* 2)(4 *4)(2* 8)+(1 * 10)
10 + 16 + 16 + 10
52
元の画像の最初のインデックスに52を配置し、画像の各ピクセルに対してこの手順を繰り返します。
なぜ畳み込み
畳み込みは、画像を操作する以前の2つの方法では達成できないことを達成できます。 それらには、ぼかし、シャープニング、エッジ検出、ノイズリダクションなどが含まれます。
マスクの概念
マスクとは
マスクはフィルターです。 マスキングの概念は、空間フィルタリングとも呼ばれます。 マスキングはフィルタリングとも呼ばれます。 このコンセプトでは、画像に対して直接実行されるフィルタリング操作を扱います。
サンプルマスクを以下に示します
-1 | 0 | 1 |
-1 | 0 | 1 |
-1 | 0 | 1 |
フィルタリングとは
フィルタリングのプロセスは、マスクと画像の畳み込みとしても知られています。 このプロセスは畳み込みと同じであるため、フィルターマスクは畳み込みマスクとも呼ばれます。
方法
マスクのフィルタリングと適用の一般的なプロセスは、画像内のポイント間でフィルターマスクを移動することです。 元の画像の各ポイント(x、y)で、フィルターの応答は事前に定義された関係によって計算されます。 すべてのフィルター値は事前に定義されており、標準です。
フィルターの種類
通常、フィルターには2つのタイプがあります。 1つは線形フィルターまたは平滑化フィルターと呼ばれ、他は周波数領域フィルターと呼ばれます。
フィルターが使用される理由
フィルターは複数の目的で画像に適用されます。 最も一般的な2つの用途は次のとおりです。
- フィルターは、ぼかしとノイズ除去に使用されます
- フィルターが使用されるか、エッジ検出とシャープネスが使用されます
ぼかしとノイズリダクション
フィルターは、ぼかしとノイズ除去に最もよく使用されます。 ぼかしは、大きなオブジェクトを抽出する前に画像から細部を削除するなど、前処理ステップで使用されます。
ぼかしのマスク
ぼかしの一般的なマスクは次のとおりです。
- ボックスフィルター
- 加重平均フィルター
ぼかしのプロセスでは、画像のエッジコンテンツを減らし、異なるピクセル強度間の遷移を可能な限りスムーズにしようとします。
ぼかしを使用してノイズを低減することもできます。
エッジ検出とシャープネス
マスクまたはフィルターは、画像のエッジ検出や画像の鮮明度を高めるためにも使用できます。
エッジとは
また、画像の不連続性の突然の変化はエッジと呼ばれます。 画像内の重要な遷移はエッジと呼ばれます。エッジのある画像を以下に示します。
原画
エッジ付きの同じ画像
ぼかしの概念
ぼかしの簡単な紹介は、マスクの概念に関する以前のチュートリアルで説明しましたが、ここで正式に説明します。
ぼけ
ぼかしでは、単純に画像をぼかします。 すべてのオブジェクトとその形状を正しく認識できれば、画像はより鮮明に、またはより詳細に見えます。 例えば。 顔のある画像は、目、耳、鼻、唇、額などを非常に鮮明に識別できれば鮮明に見えます。 オブジェクトのこの形状は、そのエッジによるものです。 したがって、ぼかしでは、エッジのコンテンツを単純に減らし、ある色から他の色への移行を非常に滑らかにします。
ぼかしとズーム
画像をズームすると、ぼやけた画像が表示される場合があります。 ピクセル複製を使用して画像をズームし、ズーム率を上げると、ぼやけた画像が見えました。 また、この画像の詳細は少なくなりますが、実際のぼかしではありません。
ズームでは新しいピクセルを画像に追加するため、画像の全体的なピクセル数が増加しますが、ぼかしでは通常の画像とぼかした画像のピクセル数は同じままです。
ぼやけた画像の一般的な例
フィルターの種類
ぼかしはさまざまな方法で実現できます。 ぼかしの実行に使用される一般的なタイプのフィルターは次のとおりです。
- 平均フィルター
- 加重平均フィルター
- ガウスフィルター
これら3つのうち、最初の2つについてここで説明し、ガウスについては今後のチュートリアルで説明します。
平均フィルター
平均フィルターは、ボックスフィルターおよび平均フィルターとも呼ばれます。 平均フィルターには次のプロパティがあります。
- 奇数の順序でなければなりません
- すべての要素の合計は1でなければなりません
- すべての要素が同じである必要があります
このルールに従うと、3x3のマスクになります。 次の結果が得られます。
1/9 | 1/9 | 1/9 |
1/9 | 1/9 | 1/9 |
1/9 | 1/9 | 1/9 |
これは3x3のマスクであるため、9つのセルがあります。 すべての要素の合計が1であるという条件は、各値を9で除算することによって達成できます。 As
1/9 + 1/9 + 1/9 + 1/9 + 1/9 + 1/9 + 1/9 + 1/9 + 1/9 = 9/9 = 1
画像上の3x3のマスクの結果を以下に示します
元画像
ぼやけた画像
結果はあまり明確ではないかもしれません。 ぼかしを増やしましょう。 ぼかしは、マスクのサイズを大きくすることで大きくできます。 マスクのサイズが大きいほど、ぼかしが大きくなります。 マスクが大きいと、より多くのピクセルが提供され、1つの滑らかな遷移が定義されるためです。
画像上の5x5のマスクの結果を以下に示します
元画像
ぼやけた画像
同じ方法でマスクを増やすと、ブラーが大きくなり、結果を以下に示します。
画像上の7x7のマスクの結果を以下に示します。
元画像
ぼやけた画像
画像上の9x9のマスクの結果を以下に示します。
元画像
ぼやけた画像
画像上の11x11のマスクの結果を以下に示します。
元画像
ぼやけた画像
加重平均フィルター
加重平均フィルターでは、中心値により多くの重みを与えました。 そのため、中心の寄与は残りの値よりも大きくなります。 加重平均フィルタリングにより、ぼかしを実際に制御できます。
加重平均フィルターのプロパティは次のとおりです。
- 奇数の順序でなければなりません
- すべての要素の合計は1でなければなりません
- 中心要素の重量は、他のすべての要素よりも大きくなければなりません
フィルター1
1 | 1 | 1 |
1 | 2 | 1 |
1 | 1 | 1 |
2つのプロパティ(1と3)が満たされます。 しかし、プロパティ2は満たされていません。 したがって、それを満たすために、フィルター全体を10で単純に除算するか、1/10で乗算します。
フィルター2
1 | 1 | 1 |
1 | 10 | 1 |
1 | 1 | 1 |
分割係数= 18。
エッジ検出の概念
マスクの紹介のチュートリアルで、エッジ検出について簡単に説明しました。 ここで、エッジ検出について正式に説明します。
エッジとは
また、画像の不連続性の突然の変化はエッジと呼ばれます。 画像内の重要な遷移はエッジと呼ばれます。
エッジの種類
通常、エッジには次の3つのタイプがあります。
- 水平エッジ
- 垂直エッジ
- 斜めのエッジ
エッジを検出する理由
画像の形状情報のほとんどは、エッジで囲まれています。 そのため、最初に画像内のこれらのエッジを検出し、これらのフィルターを使用してから、エッジを含む画像の領域を強調することにより、画像の鮮明さが向上し、画像がより鮮明になります。
以下は、今後のチュートリアルで説明するエッジ検出用のマスクの一部です。
- プレウィットオペレーター
- ソーベル演算子
- ロビンソンコンパスマスク
- クリッシュコンパスマスク
- ラプラシアン演算子。
上記のすべてのフィルターは、線形フィルターまたは平滑化フィルターです。
プレウィットオペレーター
Prewitt演算子は、水平方向および垂直方向のエッジを検出するために使用されます。
ソーベル演算子
sobel演算子は、Prewitt演算子に非常に似ています。 また、派生マスクであり、エッジ検出に使用されます。 また、水平方向と垂直方向の両方のエッジを計算します。
ロビンソンコンパスマスク
この演算子は、方向マスクとも呼ばれます。 この演算子では、1つのマスクを取得し、8つのコンパスの主な方向すべてでマスクを回転させて、各方向のエッジを計算します。
キルシュコンパスマスク
Kirsch Compass Maskは、エッジを見つけるために使用される派生マスクでもあります。 キルシュマスクは、すべての方向のエッジの計算にも使用されます。
ラプラシアン演算子
ラプラシアン演算子は、画像内のエッジを見つけるために使用される微分演算子でもあります。 ラプラシアンは2次微分マスクです。 さらに、正のラプラシアンと負のラプラシアンに分けることができます。
これらのマスクはすべてエッジを見つけます。 水平方向と垂直方向を見つけるもの、一方向のみを見つけるもの、すべての方向を見つけるものがあります。 これに続く次の概念は、エッジが画像から抽出されると実行できるシャープニングです
研ぎ
シャープはぼかしとは逆です。 ぼかしでは、エッジコンテンツを減らし、シャープニングでは、エッジコンテンツを増やします。 そのため、画像のエッジコンテンツを増やすには、最初にエッジを見つける必要があります。
エッジは、任意の演算子を使用して、上記のいずれかの方法で見つけることができます。 エッジを見つけたら、それらのエッジを画像に追加します。そのため、画像のエッジが多くなり、シャープになります。
これは、画像をシャープにする方法の1つです。
シャープ画像を以下に示します。
元画像
画像をシャープにする
プレウィットオペレーター
Prewitt演算子は、画像のエッジ検出に使用されます。 2種類のエッジを検出します
- 水平エッジ
- 垂直エッジ
エッジは、画像の対応するピクセル強度の差を使用して計算されます。 エッジ検出に使用されるすべてのマスクは、派生マスクとも呼ばれます。 このチュートリアルのシリーズで何度も述べたように、その画像は信号でもあるため、信号の変化は微分を使用してのみ計算できるためです。 そのため、これらの演算子は派生演算子または派生マスクとも呼ばれます。
すべての派生マスクには、次のプロパティが必要です。
- マスクには反対記号が必要です。
- マスクの合計はゼロに等しくなければなりません。
- 重みが大きいほど、エッジ検出が多くなります。
Prewittオペレーターは、水平方向のエッジを検出するマスクと垂直方向のエッジを検出するマスクの2つのマスクを提供します。
縦方向
-1 | 0 | 1 |
-1 | 0 | 1 |
-1 | 0 | 1 |
上記のマスクは垂直方向のエッジを検出します。これは、垂直方向の列がゼロであるためです。 このマスクを画像上で畳み込むと、画像の垂直エッジが得られます。
使い方
このマスクを画像に適用すると、目立つ垂直エッジになります。 これは、単に一次微分として機能し、エッジ領域のピクセル強度の差を計算します。 中央の列はゼロであるため、画像の元の値は含まれませんが、その辺の右と左のピクセル値の差を計算します。 これによりエッジ強度が増加し、元の画像と比較して強調されます。
水平方向
-1 | -1 | -1 |
0 | 0 | 0 |
1 | 1 | 1 |
上記のマスクは水平方向のエッジを検出します。これは、ゼロ列が水平方向にあるためです。 このマスクを画像に畳み込むと、画像の顕著な水平方向のエッジになります。
使い方
このマスクは、画像の水平方向のエッジを際立たせます。 また、上記のマスクの原理に基づいて動作し、特定のエッジのピクセル強度間の差を計算します。 マスクの中央の行はゼロで構成されるため、画像のエッジの元の値は含まれず、特定のエッジの上下のピクセル強度の差を計算します。 したがって、強度の突然の変化を増やし、エッジをより見やすくします。 上記のマスクは両方とも、派生マスクの原則に従います。 両方のマスクには反対の符号があり、両方のマスクの合計はゼロに等しくなります。 上記のマスクは両方とも標準化されており、それらの値を変更できないため、この演算子では3番目の条件は適用されません。
次は、これらのマスクの動作を確認します。
サンプル画像
以下は、上記の2つのマスクを1つずつ適用するサンプル画像です。
垂直マスクを適用した後
上記のサンプル画像に垂直マスクを適用すると、次の画像が得られます。 この画像には垂直エッジが含まれています。 水平方向のエッジの画像と比較することで、より正確に判断できます。
水平マスクを適用した後
上記のサンプル画像に水平マスクを適用すると、次の画像が得られます。
比較
ご覧のとおり、垂直マスクを適用した最初の画像では、すべての垂直エッジが元の画像よりも目立ちます。 同様に、2番目の図では、水平マスクを適用したため、すべての水平エッジが表示されています。 このようにして、画像から水平エッジと垂直エッジの両方を検出できることがわかります。
ソーベル演算子
sobel演算子は、Prewitt演算子に非常に似ています。 また、派生マスクであり、エッジ検出に使用されます。 Prewitt演算子のように、sobel演算子は画像内の2種類のエッジを検出するためにも使用されます。
- 縦方向
- 横方向
Prewittオペレーターとの違い
主な違いは、ソベル演算子ではマスクの係数が固定されておらず、微分マスクの特性に違反しない限り、要件に従って調整できることです。
以下は、Sobelオペレーターの垂直マスクです。
-1 | 0 | 1 |
-2 | 0 | 2 |
-1 | 0 | 1 |
このマスクは、Prewittオペレーターの垂直マスクとまったく同じように機能します。 1つ目と3つ目の列の中央に「2」と「-2」の値があるという違いが1つだけあります。 画像に適用すると、このマスクは垂直エッジを強調表示します。
使い方
このマスクを画像に適用すると、目立つ垂直エッジになります。 これは、単に一次微分として機能し、エッジ領域のピクセル強度の差を計算します。
中央の列はゼロであるため、画像の元の値は含まれませんが、その辺の右と左のピクセル値の差を計算します。 また、1列目と3列目の両方の中心値はそれぞれ2と-2です。
これにより、エッジ領域の周囲のピクセル値により多くの重みが与えられます。 これによりエッジ強度が増加し、元の画像と比較して強調されます。
以下は、ソベル演算子の水平マスクです
-1 | -2 | -1 |
0 | 0 | 0 |
1 | 2 | 1 |
上記のマスクは水平方向のエッジを検出します。これは、ゼロ列が水平方向にあるためです。 このマスクを画像に畳み込むと、画像の顕著な水平方向のエッジになります。 唯一の違いは、1行目と3行目の中心要素として2と-2があることです。
使い方
このマスクは、画像の水平方向のエッジを際立たせます。 また、上記のマスクの原理に基づいて動作し、特定のエッジのピクセル強度間の差を計算します。 マスクの中央の行はゼロで構成されるため、画像のエッジの元の値は含まれず、特定のエッジの上下のピクセル強度の差を計算します。 したがって、強度の突然の変化を増やし、エッジをより見やすくします。
次は、これらのマスクの動作を確認します。
サンプル画像
以下は、上記の2つのマスクを1つずつ適用するサンプル画像です。
垂直マスクを適用した後
上記のサンプル画像に垂直マスクを適用すると、次の画像が得られます。
水平マスクを適用した後
上記のサンプル画像に水平マスクを適用すると、次の画像が得られます
比較
ご覧のとおり、垂直マスクを適用した最初の画像では、すべての垂直エッジが元の画像よりも目立ちます。 同様に、2番目の図では、水平マスクを適用したため、すべての水平エッジが表示されています。
このようにして、画像から水平エッジと垂直エッジの両方を検出できることがわかります。 また、sobel演算子の結果をPrewitt演算子と比較すると、Sobel演算子はPrewitt演算子と比較してより多くのエッジを検出するか、エッジをより見やすくすることがわかります。
これは、ソーベル演算子では、エッジの周囲のピクセル強度により多くの重みを割り当てたためです。
より多くの重みをマスクに適用する
また、マスクにより多くの重みを適用すると、より多くのエッジが得られることがわかります。 また、チュートリアルの冒頭で述べたように、sobel演算子には固定係数がないため、ここに別の重み付き演算子があります
-1 | 0 | 1 |
-5 | 0 | 5 |
-1 | 0 | 1 |
このマスクの結果とPrewitt垂直マスクの結果を比較できる場合、このマスクがPrewittのマスクに比べてより多くのエッジを与えることは明らかです。
ロビンソンコンパスマスク
ロビンソンコンパスマスクは、エッジ検出に使用される別のタイプの派生マスクです。 この演算子は、方向マスクとも呼ばれます。 この演算子では、1つのマスクを使用して、次の8つのコンパスの主要な方向すべてにマスクを回転させます。
- 北
- 北西
- West
- 南西
- 南
- 南東
- East
- 北東
固定マスクはありません。 任意のマスクを取ることができ、上記のすべての方向でエッジを見つけるためにマスクを回転する必要があります。 すべてのマスクは、ゼロ列の方向に基づいて回転します。
たとえば、北方向にある次のマスクを見て、それを回転させてすべての方向マスクを作成します。
北方向マスク
-1 | 0 | 1 |
-2 | 0 | 2 |
-1 | 0 | 1 |
北西方向マスク
0 | 1 | 2 |
-1 | 0 | 1 |
-2 | -1 | 0 |
西方向マスク
1 | 2 | 1 |
0 | 0 | 0 |
-1 | -2 | -1 |
南西方向マスク
2 | 1 | 0 |
1 | 0 | -1 |
0 | -1 | -2 |
南方向マスク
1 | 0 | -1 |
2 | 0 | -2 |
1 | 0 | -1 |
南東方向マスク
0 | -1 | -2 |
1 | 0 | -1 |
2 | 1 | 0 |
東方向マスク
-1 | -2 | -1 |
0 | 0 | 0 |
1 | 2 | 1 |
北東方向マスク
-2 | -1 | 0 |
-1 | 0 | 1 |
0 | 1 | 2 |
ご覧のとおり、すべての方向はゼロ方向に基づいてカバーされています。 各マスクは、その方向のエッジを提供します。 次に、上記のマスク全体の結果を見てみましょう。 サンプル画像があり、そこからすべてのエッジを見つける必要があるとします。 サンプル画像を次に示します。
サンプル画像
この画像に上記のすべてのフィルターを適用すると、次の結果が得られます。
北方向エッジ
北西方向エッジ
西方向エッジ
南西方向エッジ
南方向エッジ
南東方向エッジ
東方向エッジ
北東方向エッジ
上記のすべてのマスクを適用すると、すべての方向にエッジが得られることがわかります。 結果も画像によって異なります。 北東方向のエッジを持たない画像があると仮定すると、そのマスクは無効になります。
クリッシュコンパスマスク
Kirsch Compass Maskは、エッジを見つけるために使用される派生マスクでもあります。 これは、ロビンソンコンパスがコンパスの8つの方向すべてにエッジを見つけるようなものです。 ロビンソンコンパスマスクとキルシュコンパスマスクの唯一の違いは、キルシュには標準マスクがありますが、キルシュでは自分の要件に応じてマスクを変更することです。
キルシュコンパスマスクの助けを借りて、次の8つの方向のエッジを見つけることができます。
- 北
- 北西
- West
- 南西
- 南
- 南東
- East
- 北東
派生マスクのすべてのプロパティに従う標準マスクを使用し、それを回転してエッジを見つけます。
たとえば、北方向にある次のマスクを見て、それを回転させてすべての方向マスクを作成します。
北方向マスク
-3 | -3 | 5 |
-3 | 0 | 5 |
-3 | -3 | 5 |
北西方向マスク
-3 | 5 | 5 |
-3 | 0 | 5 |
-3 | -3 | -3 |
西方向マスク
5 | 5 | 5 |
-3 | 0 | -3 |
-3 | -3 | -3 |
南西方向マスク
5 | 5 | -3 |
5 | 0 | -3 |
-3 | -3 | -3 |
南方向マスク
5 | -3 | -3 |
5 | 0 | -3 |
5 | -3 | -3 |
南東方向マスク
-3 | -3 | -3 |
5 | 0 | -3 |
5 | 5 | -3 |
東方向マスク
-3 | -3 | -3 |
-3 | 0 | -3 |
5 | 5 | 5 |
北東方向マスク
-3 | -3 | -3 |
-3 | 0 | 5 |
-3 | 5 | 5 |
ご覧のとおり、すべての方向がカバーされており、各マスクはそれぞれの方向のエッジを提供します。 これらのマスクの概念をよりよく理解できるように、実際の画像に適用します。 サンプル画像があり、そこからすべてのエッジを見つける必要があるとします。 サンプル画像を次に示します。
サンプル画像
この画像に上記のすべてのフィルターを適用すると、次の結果が得られます。
北方向エッジ
北西方向エッジ
西方向エッジ
南西方向エッジ
南方向エッジ
南東方向エッジ
東方向エッジ
北東方向エッジ
上記のすべてのマスクを適用すると、すべての方向にエッジが得られることがわかります。 結果も画像によって異なります。 北東方向のエッジを持たない画像があると仮定すると、そのマスクは無効になります。
ラプラシアン演算子
ラプラシアン演算子は、画像内のエッジを見つけるために使用される微分演算子でもあります。 ラプラシアンとPrewitt、Sobel、Robinson、Kirschなどの他の演算子との主な違いは、これらはすべて1次微分マスクですが、ラプラシアンは2次微分マスクであることです。 このマスクには、さらに2つの分類があります。1つは正のラプラシアン演算子で、もう1つは負のラプラシアン演算子です。
ラプラシアンと他の演算子のもう1つの違いは、他の演算子とは異なり、ラプラシアンは特定の方向のエッジを取り出さず、次の分類でエッジを取り出すことです。
- 内向きエッジ
- 外向きエッジ
ラプラシアン演算子の仕組みを見てみましょう。
正のラプラシアン演算子
正のラプラシアンでは、マスクの中心要素が負で、マスクのコーナー要素がゼロである標準マスクがあります。
0 | 1 | 0 |
1 | -4 | 1 |
0 | 1 | 0 |
正のラプラシアン演算子は、画像の外側のエッジを取り出すために使用されます。
負のラプラシアン演算子
負のラプラシアン演算子では、中心要素が正でなければならない標準マスクもあります。 角のすべての要素はゼロで、マスクの残りのすべての要素は-1でなければなりません。
0 | -1 | 0 |
-1 | 4 | -1 |
0 | -1 | 0 |
負のラプラシアン演算子を使用して、画像の内側のエッジを取り出します
使い方
ラプラシアンは微分演算子です。画像のグレーレベルの不連続部分を強調表示し、グレーレベルがゆっくりと変化する領域を強調しないようにします。 結果として、この操作は、暗い背景上に灰色がかったエッジラインと他の不連続性を持つ画像を生成します。 これにより、画像の内側と外側のエッジが生成されます
重要なことは、これらのフィルターを画像に適用する方法です。 同じ画像に正と負のラプラシアン演算子の両方を適用することはできません。 1つだけを適用する必要がありますが、覚えておくべきことは、画像に正のラプラシアン演算子を適用すると、元の画像から結果の画像を差し引いて鮮明な画像を取得することです。 同様に、負のラプラシアン演算子を適用する場合、結果の画像を元の画像に追加して、鮮明な画像を取得する必要があります。
これらのフィルターを画像に適用して、画像から内側と外側のエッジがどのように得られるかを見てみましょう。 次のサンプル画像があるとします。
サンプル画像
正のラプラシアン演算子を適用した後
正のラプラシアン演算子を適用すると、次の画像が得られます。
負のラプラシアン演算子を適用した後
負のラプラシアン演算子を適用すると、次の画像が得られます。
周波数領域の概要
多くのドメインで画像を扱っています。 現在、周波数領域で信号(画像)を処理しています。 このフーリエ級数と周波数領域は純粋に数学であるため、その数学の部分を最小化し、DIPでの使用に重点を置くようにします。
周波数領域分析
ここまで、信号を分析したすべてのドメインで、時間に関して分析します。 しかし、周波数領域では、時間に関して信号を分析するのではなく、周波数に関して分析します。
空間領域と周波数領域の違い
空間領域では、画像をそのまま扱います。 画像のピクセルの値は、シーンに応じて変化します。 一方、周波数領域では、空間領域でピクセル値が変化する速度を扱います。
簡単にするために、このようにしましょう。
空間ドメイン
単純な空間ドメインでは、画像マトリックスを直接扱います。 一方、周波数領域では、このような画像を扱います。
周波数領域
まず、画像をその頻度分布に変換します。 次に、ブラックボックスシステムは、実行する必要のある処理を実行します。この場合のブラックボックスの出力は、画像ではなく、変換です。 逆変換を実行した後、画像に変換され、空間ドメインで表示されます。
絵で見ることができます
ここでは、単語変換を使用しました。 それは実際にはどういう意味ですか?
変換
信号は、変換と呼ばれる数学的演算子を使用して、時間領域から周波数領域に変換できます。 これを行う多くの種類の変換があります。 それらのいくつかを以下に示します。
- フーリエ級数
- フーリエ変換
- ラプラス変換
- Z変換
これらのうち、次のチュートリアルではフーリエ級数とフーリエ変換について徹底的に説明します。
周波数成分
空間領域の画像は、周波数領域で表現できます。 しかし、この周波数は実際にはどういう意味ですか。
周波数成分を2つの主要な成分に分割します。
高周波成分
高周波成分は画像のエッジに対応します。
低周波成分
画像の低周波成分は、滑らかな領域に対応します。
フーリエ級数と変換
周波数領域解析の最後のチュートリアルでは、フーリエ級数とフーリエ変換を使用して信号を周波数領域に変換することについて説明しました。
フーリエ
フーリエは1822年に数学者でした。 彼はフーリエ級数とフーリエ変換を行い、信号を周波数領域に変換します。
フーリエ級数
フーリエ級数は、周期的な信号を特定の重みで乗算すると、サインとコサインの合計に表現できること、さらに、周期的な信号を次の特性を持つ信号に分解できることを示しています。
- 信号はサインとコサインです
- 信号は互いに高調波です
絵で見ることができます
上記の信号では、最後の信号は実際には上記のすべての信号の合計です。 これがフーリエの考え方でした。
計算方法
周波数領域で見たように、画像を周波数領域で処理するには、まず画像を周波数領域に変換する必要があり、出力を逆変換して空間領域に変換する必要があります。 そのため、フーリエ級数とフーリエ変換の両方に2つの式があります。 1つは変換用で、もう1つは空間ドメインに変換します。
フーリエ級数
フーリエ級数はこの式で表すことができます。
この式で逆数を計算できます。
フーリエ変換
フーリエ変換は、曲線下の面積が有限である非周期信号も、特定の重みを掛けた後、正弦と余弦の積分に表現できると単純に述べています。
フーリエ変換には、画像圧縮(JPEG圧縮など)、フィルタリング、画像分析など、幅広い用途があります。
フーリエ級数と変換の違い
フーリエ級数とフーリエ変換の両方がFourierによって与えられますが、それらの違いは、フーリエ級数が周期信号に適用され、フーリエ変換が非周期信号に適用されることです
画像に適用されるもの
問題は、画像、フーリエ級数、またはフーリエ変換のどれに適用されるかです。 さて、この質問に対する答えは、画像が何であるかという事実にあります。 画像は非周期的です。 また、画像は非周期的であるため、フーリエ変換を使用して周波数領域に変換します。
離散フーリエ変換
画像を処理しているため、実際にはデジタル画像なので、デジタル画像の場合は離散フーリエ変換に取り組んでいます
上記の正弦波のフーリエ項を考えます。 これには3つのことが含まれます。
- 空間周波数
- 大きさ
- 段階
空間周波数は、画像の明るさに直接関係します。 正弦波の大きさは、コントラストに直接関係します。 コントラストは、最大ピクセル強度と最小ピクセル強度の差です。 フェーズには色情報が含まれます。
2次元離散フーリエ変換の式を以下に示します。
離散フーリエ変換は実際にはサンプリングされたフーリエ変換であるため、画像を示すいくつかのサンプルが含まれています。 上記の式で、f(x、y)は画像を示し、F(u、v)は離散フーリエ変換を示します。 2次元逆離散フーリエ変換の式を以下に示します。
逆離散フーリエ変換は、フーリエ変換を画像に変換します
この信号を考慮してください
ここで、FFT振幅スペクトルを計算してからシフトFFT振幅スペクトルを計算する画像が表示され、そのシフトスペクトルの対数を取得します。
元画像
フーリエ変換振幅スペクトル
シフトフーリエ変換
シフトされた振幅スペクトル
たたみ込み定理
前回のチュートリアルでは、周波数領域の画像について説明しました。 このチュートリアルでは、周波数領域と画像(空間領域)の関係を定義します。
例えば
この例を考えてください。
周波数領域の同じ画像は次のように表現できます。
次に、画像または空間領域と周波数領域の関係を説明します。 この関係は、畳み込み定理と呼ばれる定理によって説明できます。
たたみ込み定理
空間領域と周波数領域の関係は、畳み込み定理によって確立できます。
畳み込み定理は次のように表すことができます。
空間領域での畳み込みは、周波数領域でのフィルタリングと同等であり、その逆も同様であると言えます。
周波数領域でのフィルタリングは、次のように表すことができます。
フィルタリングの手順を以下に示します。
- 最初のステップでは、空間領域で画像を処理する前に、コントラストまたは輝度を上げる必要があります。
- 次に、画像の離散フーリエ変換を行います
- 次に、コーナーから離散フーリエ変換を中心に配置するため、離散フーリエ変換を中心にします
- 次に、フィルタリングを適用します。つまり、フーリエ変換にフィルター関数を乗算します
- その後、再びDFTを中心から角に移動します
- 最後のステップは、逆離散フーリエ変換を行い、結果を周波数領域から空間領域に戻すことです。
- そして、後処理のこのステップはオプションであり、前処理と同様に、画像の外観を増やすだけです。
フィルター
周波数領域のフィルターの概念は、畳み込みのマスクの概念と同じです。
画像を周波数領域に変換した後、フィルタリング処理でいくつかのフィルターが適用され、画像に対して異なる種類の処理が実行されます。 処理には、画像のぼかし、画像のシャープ化などが含まれます。
これらの目的のための一般的なタイプのフィルターは次のとおりです。
- 理想的なハイパスフィルター
- 理想的なローパスフィルター
- ガウスハイパスフィルター
- ガウスローパスフィルター
次のチュートリアルでは、フィルターについて詳しく説明します。
ハイパスフィルターとローパスフィルター
最後のチュートリアルでは、フィルターについて簡単に説明します。 このチュートリアルでは、それらについて徹底的に説明します。 について議論する前に、まずマスクについて話しましょう。 マスクの概念は、畳み込みとマスクのチュートリアルで説明されています。
ぼかしマスクと派生マスク
ぼかしマスクと派生マスクの比較を行います。
ぼかしマスク
ぼかしマスクには次のプロパティがあります。
- ぼかしマスクのすべての値は正です
- すべての値の合計は1に等しい
- ぼかしマスクを使用することにより、エッジのコンテンツが削減されます
- マスクのサイズが大きくなると、より滑らかな効果が発生します
派生マスク
派生マスクには次のプロパティがあります。
- 微分マスクには、正の値と負の値があります
- 微分マスク内のすべての値の合計はゼロに等しい
- エッジの内容は、微分マスクによって増加します
- マスクのサイズが大きくなると、より多くのエッジコンテンツが増加します
ハイパスフィルターとローパスフィルターを使用したぼかしマスクと派生マスクの関係。
ハイパスフィルターとローパスフィルターを使用したぼかしマスクと微分マスクの関係は、次のように簡単に定義できます。
- ぼかしマスクはローパスフィルターとも呼ばれます
- 微分マスクはハイパスフィルターとも呼ばれます
ハイパス周波数成分とローパス周波数成分
高域周波数成分はエッジを表し、低域周波数成分は滑らかな領域を表します。
理想的なローパスフィルターと理想的なハイパスフィルター
これは、ローパスフィルターの一般的な例です。
1つを内側に配置し、ゼロを外側に配置すると、ぼやけた画像が得られます。 1のサイズを大きくすると、ぼかしが増加し、エッジのコンテンツが減少します。
これは、ハイパスフィルターの一般的な例です。
0を内側に配置すると、エッジが得られ、スケッチされた画像が得られます。 周波数領域での理想的なローパスフィルターを以下に示します。
理想的なローパスフィルターは、次のようにグラフィカルに表すことができます。
このフィルターを実際の画像に適用して、得られたものを見てみましょう。
サンプル画像
周波数領域の画像
この画像にフィルターを適用する
結果の画像
同じ方法で、理想的なハイパスフィルターを画像に適用できます。 しかし、明らかに、結果は異なります。ローパスはエッジのあるコンテンツを減らし、ハイパスはそれを増やすからです。
ガウスローパスフィルターとガウスハイパスフィルター
ガウスローパスおよびガウスハイパスフィルターは、理想的なローパスおよびハイパスフィルターで発生する問題を最小限に抑えます。
この問題はリンギング効果として知られています。 これは、いくつかのポイントでは、ある色から別の色への移行を正確に定義できないため、そのポイントでリンギング効果が現れるためです。
このグラフをご覧ください。
これは理想的なローパスフィルターの表現です。 Doの正確な時点では、値が0または1であるとは言えません。 そのため、その時点でリンギング効果が現れます。
そのため、理想的なローパスフィルターと理想的なハイパスフィルターの影響を軽減するために、次のガウスローパスフィルターとガウスハイパスフィルターが導入されています。
ガウスローパスフィルター
フィルタリングとローパスの概念は同じままですが、遷移のみが異なり、より滑らかになります。
ガウスローパスフィルターは、次のように表すことができます。
滑らかな曲線遷移に注意してください。これにより、各ポイントでDoの値を正確に定義できます。
ガウスハイパスフィルター
ガウスハイパスフィルターの概念は理想的なハイパスフィルターと同じですが、やはり遷移は理想的なものと比較してよりスムーズです。
色空間の紹介
このチュートリアルでは、色空間について説明します。
色空間とは何ですか?
色空間はさまざまな種類の色モードであり、画像処理や信号、さまざまな目的のシステムで使用されます。 一般的な色空間の一部は次のとおりです。
- RGB
- CMY’K
- Y’UV
- YIQ
- Y’CbCr
- HSV
RGB
RGBは最も広く使用されている色空間であり、過去のチュートリアルで既に説明しました。 RGBは赤、緑、青を表します。
RGBモデルの説明では、各カラー画像は実際には3つの異なる画像で構成されています。 赤の画像、青の画像、黒の画像。 通常のグレースケールイメージは1つのマトリックスのみで定義できますが、カラーイメージは実際には3つの異なるマトリックスで構成されます。
1つのカラー画像マトリックス=赤マトリックス+青マトリックス+緑マトリックス
これは以下のこの例で最もよく見ることができます。
RGBの応用
RGBモデルの一般的なアプリケーションは次のとおりです。
- 陰極線管(CRT)
- 液晶ディスプレイ(LCD)
- テレビなどのプラズマディスプレイまたはLEDディスプレイ
- 計算モニターまたは大画面
CMYK
RGBからCMYへの変換
RGBからCMYへの変換は、この方法を使用して行われます。
カラーイメージがあると考えてください。つまり、赤、緑、青の3つの異なる配列があることを意味します。 これをCMYに変換する場合は、次のようにします。 レベルの最大数である1を差し引く必要があります。 各行列が減算され、それぞれのCMY行列が結果で埋められます。
Y’UV
Y’UVは、1つのルミナンス(Y ’)と2つのクロミナンス(UV)コンポーネントで色空間を定義します。 Y’UVカラーモデルは、次のコンポジットカラービデオ規格で使用されています。
- NTSC(全国テレビシステム委員会)
- PAL(フェーズオルタネートライン)
- SECAM(シーケンシャルクーラーアメモワール、「記憶のあるシーケンシャルカラー」のフランス語)
Y’CbCr
Y’CbCrカラーモデルにはY ’が含まれており、輝度成分とcbとcrは青差と赤差の色差成分です。
絶対的な色空間ではありません。 主にデジタルシステムに使用されます
その一般的なアプリケーションには、JPEGおよびMPEG圧縮が含まれます。
Y’UVはY’CbCrの用語としてよく使用されますが、形式はまったく異なります。 これら2つの主な違いは、前者がアナログであり、後者がデジタルであることです。
JPEG圧縮の概要
画像圧縮の最後のチュートリアルでは、圧縮に使用されるいくつかの手法について説明します
一部のデータは最終的に損失するため、非可逆圧縮であるJPEG圧縮について説明します。
まず、画像圧縮とは何かを説明しましょう。
画像圧縮
画像圧縮は、デジタル画像のデータ圧縮の方法です。
画像圧縮の主な目的は次のとおりです。
- 効率的な形式でデータを保存する
- 効率的な形式でデータを送信する
画像の圧縮は、非可逆的または可逆的です。
JPEG圧縮
JPEGはJoint PHOTO Experts Groupの略です。 これは、画像圧縮の最初の国際規格です。 今日広く使用されています。 それはロスレスでもロスレスでもあります。 ただし、ここで今日説明する手法は、非可逆圧縮手法です。
JPEG圧縮の仕組み
最初のステップは、画像を8 x 8の次元を持つブロックに分割することです。
記録のために、この8x8画像には次の値が含まれているとしましょう。
現在、ピクセル強度の範囲は0〜255です。 範囲を-128から127に変更します。
各ピクセル値から128を減算すると、-128〜127のピクセル値が得られます。 各ピクセル値から128を減算すると、次の結果が得られました。
次に、この式を使用して計算します。
この結果は、たとえばA(j、k)マトリックスに格納されます。
JPEG圧縮の計算に使用される標準マトリックスがあります。これは、輝度マトリックスと呼ばれるマトリックスによって与えられます。
このマトリックスは以下のとおりです
次の式を適用する
申請後にこの結果を得ました。
ここで、ZIG-ZAG移動であるJPEG圧縮で行われる実際のトリックを実行します。 上記のマトリックスのジグザグシーケンスを以下に示します。 先にすべてのゼロが見つかるまで、ジグザグを実行する必要があります。 したがって、画像は現在圧縮されています。
JPEG圧縮の要約
最初のステップは、画像をY’CbCrに変換し、Y ’チャンネルを選択して8 x 8ブロックに分割することです。 次に、最初のブロックから開始して、-128〜127の範囲をマッピングします。 その後、行列の離散フーリエ変換を見つける必要があります。 この結果は量子化する必要があります。 最後のステップは、ジグザグにエンコードを適用し、すべてゼロになるまでそれを行うことです。
この1次元配列を保存すれば完了です。
注意。 8 x 8のすべてのブロックに対してこの手順を繰り返す必要があります。
光学式文字認識
通常、光学式文字認識はOCRと略されます。 これには、スキャンされた手書きのタイプされたテキストの画像を機械テキストに機械的および電気的に変換することが含まれます。 印刷されたテキストをデジタル化して電子的に検索し、よりコンパクトに保存し、オンラインで表示し、機械翻訳、テキスト読み上げ、テキストマイニングなどの機械プロセスで使用できるようにする一般的な方法です。
近年、OCR(Optical Character Recognition)テクノロジーは、業界全体に適用され、ドキュメント管理プロセスに革命をもたらしました。 OCRにより、スキャンされたドキュメントは単なる画像ファイルではなく、コンピューターによって認識されるテキストコンテンツを含む完全に検索可能なドキュメントになりました。 OCRの助けを借りて、人々は重要なドキュメントを電子データベースに入力するときに手動で再入力する必要がなくなりました。 代わりに、OCRは関連情報を抽出し、自動的に入力します。 その結果、より短時間で正確かつ効率的な情報処理が実現します。
光学式文字認識には複数の研究分野がありますが、最も一般的な分野は次のとおりです。
銀行業
彼はOCRの使用方法をさまざまな分野で変えています。 広く知られているアプリケーションの1つに銀行があり、OCRを使用して人間の関与なしに小切手を処理します。 小切手はマシンに挿入され、その上に書かれたものが即座にスキャンされ、正しい金額が送金されます。 この技術は、印刷された小切手にほぼ完璧であり、手書きの小切手にもかなり正確ですが、時々手動で確認する必要があります。 全体として、これにより多くの銀行で待ち時間が短縮されます。
視覚障害者
OCRの背後にある研究の最初の主要な要因の1つは、科学者が視覚障害者に本を読み上げることができるコンピューターまたはデバイスを作りたいということです。 この研究で、科学者はドキュメントスキャナーとして最もよく知られているフラットベッドスキャナーを作成しました。
法務部
法律業界では、紙の文書をデジタル化する重要な動きもあります。 スペースを節約し、紙ファイルの箱をふるいにかける必要をなくすために、文書はスキャンされ、コンピューターデータベースに入力されます。 OCRは、文書をテキスト検索できるようにすることでプロセスをさらに簡素化します。そのため、データベース内で文書を見つけて操作しやすくなります。 法律の専門家は、電子形式の膨大なドキュメントライブラリにすばやく簡単にアクセスできるようになり、いくつかのキーワードを入力するだけで簡単に見つけることができます。
小売業
バーコード認識技術もOCRに関連しています。 私たちは、このテクノロジーを日常的に使用していると考えています。
その他の用途
OCRは、教育、金融、政府機関など、他の多くの分野で広く使用されています。 OCRは数え切れないほどのテキストをオンラインで利用できるようにし、学生の費用を節約し、知識を共有できるようにしました。 請求書イメージングアプリケーションは、財務記録を追跡し、支払いの未処理が蓄積するのを防ぐために、多くの企業で使用されています。 政府機関や独立組織では、OCRは他のプロセスの中でも特にデータの収集と分析を簡素化します。 技術の発展に伴い、手書き認識の使用の増加など、OCR技術の用途が増えています。
コンピュータービジョンとコンピューターグラフィックス
コンピュータビジョン
コンピュータービジョンは、コンピューターソフトウェアとハードウェアを使用して人間の視覚をモデリングおよび複製することに関するものです。 正式にコンピュータービジョンを定義する場合、その定義は、コンピュータービジョンは、シーンに存在する構造のプロパティの観点から、2D画像から3Dシーンを再構築、中断、理解する方法を研究する分野であるということです。
人間の視覚システムの動作を理解し、刺激するには、次の分野の知識が必要です。
- コンピュータサイエンス
- 電気工学
- 数学
- 生理
- 生物学
- 認知科学
コンピュータービジョン階層
コンピュータービジョンは、次の3つの基本的なカテゴリに分類されます。
低レベルビジョン:特徴抽出のためのプロセス画像が含まれます。
中級ビジョン:オブジェクト認識と3Dシーンの解釈が含まれます
高レベルのビジョン:アクティビティ、意図、行動などのシーンの概念的な説明が含まれます。
関連分野
コンピュータービジョンは、次のフィールドと大きく重複しています。
画像処理:画像操作に焦点を当てています。
パターン認識:パターンを分類するためのさまざまな手法を研究します。
写真測量法:画像から正確な測定値を取得することに関係しています。
コンピュータビジョンと画像処理
画像処理は、画像から画像への変換を研究します。 画像処理の入力と出力は両方とも画像です。
コンピュータービジョンは、画像から物理オブジェクトの明示的で意味のある記述を作成することです。 コンピュータービジョンの出力は、3Dシーンの構造の説明または解釈です。
サンプルアプリケーション
- ロボティクス
- 医学
- セキュリティ
- 交通手段
- 産業自動化
ロボットアプリケーション
- ローカリゼーションでロボットの位置を自動的に決定
- ナビゲーション
- 障害物回避
- 組み立て(ペグインホール、溶接、塗装)
- 操作(例: PUMAロボットマニピュレーター)
- ヒューマンロボットインタラクション(HRI):人々と対話し、サービスを提供するインテリジェントロボット工学
医学の応用
- 分類と検出(例: 病変または細胞の分類および腫瘍の検出)
- 2D/3Dセグメンテーション
- 3Dヒト臓器再建(MRIまたは超音波)
- 視覚誘導ロボット手術
産業オートメーションアプリケーション
- 産業検査(欠陥検出)
- アセンブリ
- バーコードおよびパッケージラベルの読み取り
- オブジェクトの並べ替え
- ドキュメントの理解(例: OCR)
セキュリティアプリケーション
- 生体認証(虹彩、指紋、顔認識)
- 監視-特定の不審な活動または行動の検出
輸送アプリケーション
- 自律走行車
- 安全性、例:ドライバーの警戒監視
コンピューターグラフィックス
コンピューターグラフィックスは、コンピューターを使用して作成されたグラフィックスであり、特に特殊なグラフィックスハードウェアおよびソフトウェアの助けを借りて、コンピューターによって画像データを表現したものです。 正式には、コンピューターグラフィックスは、幾何学的オブジェクト(モデリング)とそのイメージ(レンダリング)の作成、操作、保存であると言えます。
コンピュータグラフィックスハードウェアの出現により開発されたコンピュータグラフィックスの分野。 今日、コンピューターグラフィックスはほぼすべての分野で使用されています。 データを視覚化するための多くの強力なツールが開発されています。 コンピュータグラフィックスの分野は、企業がビデオゲームで使用し始めたときに、より一般的になりました。 今日では、数十億ドル規模の産業であり、コンピューターグラフィックス開発の主な原動力となっています。 いくつかの一般的なアプリケーション領域は次のとおりです。
- コンピューター支援設計(CAD)
- プレゼンテーショングラフィックス
- 3Dアニメーション
- 教育と訓練
- グラフィカルユーザーインタフェース
コンピューター支援設計
- 建物、自動車、航空機、その他多くの製品の設計に使用
- バーチャルリアリティシステムの作成に使用します。
プレゼンテーショングラフィックス
- 通常、財務統計データの要約に使用されます
- スライドの生成に使用
3Dアニメーション
- 映画業界では、Pixar、DresmsWorksなどの企業が多用しています
- ゲームや映画に特殊効果を追加します。
教育と訓練
- 物理システムのコンピューター生成モデル
- 医療の可視化
- 3D MRI
- 歯科および骨のスキャン
- パイロットの訓練などのための刺激装置
グラフィカルユーザーインタフェース
- ボタン、アイコン、その他のコンポーネントなどのグラフィカルユーザーインターフェイスオブジェクトを作成するために使用されます