Dip-zooming-methods

提供:Dev Guides
移動先:案内検索

ズーム方法

このチュートリアルでは、「ズームの概要」のチュートリアルで紹介した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

Table2

列ごとのズーム

同じ手順を列ごとに実行する必要があります。 手順には、隣接する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つのアルゴリズムの能力を備えています。

このアルゴリズムの唯一の難点は、最後にソートする必要があることです。これは追加のステップであり、計算コストが増加します。