🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

リサイズ

コントロール、ウィンドウ、フォームやスクリーンのサイズ変更を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

2119閲覧

RGB画像の配列のリサイズ方法(画像の大きさを変更したい)

surphy

総合スコア101

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

リサイズ

コントロール、ウィンドウ、フォームやスクリーンのサイズ変更を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2019/11/19 01:33

編集2019/11/19 02:02

RGB画像の配列X_preがあります。
この画像の大きさを例えば1280x960から128x96に変更したいです。
どのように変更するのがよいでしょうか。

下記コードを実行すれば、X_preが生成されます。
下記コードの書き方についてもアドバイスあれば、お願い致します。

python

1def create_im(): 2 width=1280 3 height=960 4 im = np.zeros((height, width,3), dtype=np.uint8) 5 return im 6 7 8X_pre = create_im() 9 10print(X_pre.shape)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco_bauer

2019/11/19 01:58

質問に書かれた「画像のリサイズ」という話題と、プログラムのコメントにある"円の描写"とは、何か関係が有るのですか? 意図が推測しかねます。
surphy

2019/11/19 02:01

関係ないです。 今作成しているプログラムの一部を抜粋、変更して載せましたが、質問となる核の部分のみ記述するように努めます。
surphy

2019/11/19 02:41

pillowを教えていただきありがとうございます。 ndarrayのままresizeするのは困難ということがわかりました。 そこで、ndarrayから画像(正しい名称わかりません)に変換してresizeして、またndarrayに戻すという思想で解決しました。
tachikoma

2019/11/19 02:49

もう一つはopencvがあります。pipだとインストールも楽で、結果は全てnparrayで扱えます。ご参考までに。
guest

回答1

0

ベストアンサー

1280x960から128x96に変更するとすると、元の画像の 10x10ピクセルを1ピクセルに対応づける事になります。

100ピクセル(10x10ピクセル)の色情報から、一つの色に決める方法は

  1. 色の平均をとる
  2. 出現頻度が高い色を使う

といった手法があります。

元の画像によって適する方法が異なりますので、複数の方法で試してみるのが良いと思います。

私の印象ですが、
色の変化が穏やかな画像(印象派の絵画のような)は、色の平均が比較的元の絵のイメージが残ります。全体的に灰色っぽい(薄暗い)感じになります。
色の変化がくっきりしている画像(ミロの絵画のような)は、出現頻度が比較的絵のイメージが残ります。

投稿2019/11/19 02:36

coco_bauer

総合スコア6915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

surphy

2019/11/19 02:44

ndarrayから画像(正しい名称わかりません)に変換してresizeして、またndarrayに戻すという思想で解決しました。 resizeという関数を作って、その役割をもたせました。 from PIL import Image def create_im(): width=1280 height=960 im = np.zeros((height, width,3), dtype=np.uint8) return im def resize(im,w,h): img = Image.fromarray(im, 'RGB') img_new=img.resize((w, h)) return np.array(img_new) X_pre =resize( np.array(create_im()),20,20) print(X_pre.shape)
surphy

2019/11/19 02:46

画像のresizeといってもいろいろな手法があることに気づきました。 言われてみれば、当然で、そこまで意識しておりませんでした。 今はとにかく最終目標に向けて形状を整えたかったため、上記方法で進もうと思っています。 いずれ画像のりサイズの話には立ち戻り、しっかりと最適な方法を選び活用していきたいと思います。 アドバイスなどどうもありがとうございます。 これからもよろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問