パッケージでは、numpyは2つの関数のサイズ変更と変形です。彼らは内部的にどのように働くのですか?彼らはどのような補間を使用していますか?コードを調べましたが、それを得られませんでした。誰でも私を助けることができますか?または、画像のサイズがどのように変更されるか。ピクセルはどうなりますか?numpy.resize関数とnumpy.reshape関数は、どのように内部的にpythonで動作しますか?
3
A
答えて
2
私が知る限り、numpy.reshape()
は行列を再構成するだけです(イメージであれ、問題ではありません)。補間は行わず、行列内の項目を操作するだけです。
a = np.arange(12).reshape((2,6))
a= [[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]]
b=a.reshape((4,3))
b=[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]
5
どちらも補間しません。また、画像の補間やピクセルについて不思議に思っている場合は、おそらく必要な機能ではありません。イメージの解像度を操作するいくつかのimage
パッケージ(例えば、scipy
)があります。
すべてnumpy
配列にはshape
属性があります。 reshape
は、データをまったく変更することなく、それを変更するだけです。新しい形状は元の形状と同じ総数の要素を参照する必要があります。
x = np.arange(12)
x.reshape(3,4) # 12 elements
x.reshape(6,2) # still 12
x.reshape(6,4) # error
np.resize
はあまり一般的に使用されているが、Pythonで書かれており、研究のために利用可能です。あなたはそのドキュメントを読む必要があり、x.resize
は異なっています。それより大きくなると、実際に値またはパッドがゼロで繰り返されます。 1dに演技リサイズの
例:
In [366]: x=np.arange(12)
In [367]: np.resize(x,6)
Out[367]: array([0, 1, 2, 3, 4, 5])
In [368]: np.resize(x,24)
Out[368]:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11])
In [369]: x.resize(24)
In [370]: x
Out[370]:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0])
scipy.misc.imresize
に関する最近の質問。また、scipy.ndimage.zoom
参照:ドキュメントから
+1
_ "reshapeはちょうど[' .shape'] "_"を変更します。より正確には、呼び出されたオブジェクトを実際に変更するのではなく、変更されたビューを作成します – Eric
関連する問題
- 1. C++:関数の変数宣言は、内部的にどのように動作しますか?
- 2. sklearn.svm.svcのpredict_proba()関数はどのように内部的に動作しますか?
- 3. どのようにforループと関数内のインデックスとのJavaScriptで動的関数を作成する
- 4. Python:string.replace( "\ n"、 "")は関数内外でどのように動作しますか?
- 5. $ .contains()jquery関数はどのように動作しますか?
- 6. jQuery関数は内部でのみ動作します。
- 7. どのように動的なjavascript関数を作成する
- 8. どのように私はPython関数で数学関数を置くことができますか?
- 9. StringクラスはJavaでどのように内部的に動作しますか?
- 10. PHP:関数内の関数が内部関数に含まれています
- 11. どのようにコールバック関数は、Pythonのマルチプロセッシングで動作するmap_async
- 12. boost :: multi_indexはどのようにメンバー関数で動作しますか?
- 13. Spark Streaming:mapWithState関数はどのようにクラスタで動作しますか?
- 14. テンプレートメンバー関数はどのようにC++で動作しますか?
- 15. コールバック関数はどのようにtsで動作しますか?
- 16. `asm()`関数はどのようにC言語で動作しますか?
- 17. カスタム名によるPythonの動的関数の作成
- 18. 内部関数をjavacriptで動的に呼び出す
- 19. printfは内部でどのように動作しますか?
- 20. session_regenerate_id()は内部でどのように動作しますか?
- 21. エクスプローラ/ウィンドウのタスクバーはどのように内部的に動作しますか?
- 22. レコードの更新は内部的にどのように動作しますか?
- 23. コレクションのFutureTaskは内部的にどのように動作しますか?
- 24. 関数の引数を内部関数に渡すか?
- 25. nodejsのコールバック関数はどのように動作していますか?
- 26. ASP.NETルーティングはどのように内部的に動作しますか?
- 27. C#eventhandlerは内部的にどのように動作しますか?
- 28. .SDはどのように内部的に動作しますか?
- 29. Javaシリアル化は内部的にどのように動作しますか?
- 30. 'range()'は内部的にどのように動作しますか?
:新しい配列は元の配列よりも大きい場合は、新しい配列が繰り返しコピーで満たされています。 https://docs.scipy.org/doc/numpy/reference/generated/numpy.resize.html – user4421975
'np.resize'も' np.reshape'も画像のサイズ変更には適していません。 Numpyは配列であり、画像ではありません。 – Eric