2017-01-06 13 views
0

Iは以下のような2次元配列を有する:上記整数の2次元配列(イメージに関連付ける)を特定のサイズにリサイズしますか?

255 255 255 255 255 
255 128 128 128 255 
255 128 255 255 255 
255 128 128 128 255 
255 255 255 255 255 

番号は画像(R = G = B、グレースケール画像)のRGB値を表します。この場合、文字「C」の5x5pxの画像です。

この5x5アレイのアスペクト比を維持したまま他の次元にリサイズしたいと考えています。これは、幅の2倍をembiggenedされる1つの配列要素として、高さでは、20×20の配列、たとえば、に変換するために簡単です:

255 

becomes 

255 255 
255 255 

しかし、私は任意のサイズにしたい場合は、32×32が何を言いますか?画像処理プログラムは画像のサイズを変更するためにどのような方法を使用しますか?強調する:アスペクト比は変わらない。

明確にするには、2D配列の縮尺を変更するだけで、忠実度を保つ必要があります。私は画像で作業しているわけではありませんが、画像のスケーリングの概念を使用すると便利です(?)。

+0

"配列"のサイズ変更は簡単ですが、問題は*スケーリング*です。しかし、画像を拡大縮小することはよく知られており、長年に渡って解決された問題でもあります。画像を拡大するアルゴリズムを検索すると、多くの代替案が見つかります。 –

答えて

0

最も簡単なルートは、最寄りのサンプリングです。このため周りのチュートリアルのプレンティ:

http://tech-algorithm.com/articles/nearest-neighbor-image-scaling/

最も近い隣人は、任意の大きさ(サイズ変更後)の画像をスケーリングするために使用することができます。例えば10x10イメージは50x34イメージになる可能性があります。しかし、それは愚かに見えます...

0

画像処理アプリケーションに(あなたは、それぞれ、大型化や小型化している場合)、より一般的に補間またはデシメーションとして知られているあなたは、画像のサイズを変更することができる多くの方法があります。 Boost GILはあなたが探しているものを正確に持っています。それ以外の場合は、独自の補間関数を書き直すことができます。あなたの場合、ホイールを再発明する必要はなく、ブーストを調べる必要があります。

関連する問題