Ako zobraziť (224, 224, 3) obraz v Jupyter Notebook s Julia?

0

Otázka

Mám 224x224 obrázok 3 kanály. Som chcete zobraziť obrázok v Jupyter Notebook. Keď som si IJulia.display(imgs[:, :, :, 1]), všetky som si suroviny, čísla a nie skutočný obraz. Kód funguje s ImageView.imshow ale som chcete zachytiť snímku v notebooku sám. Čo musím urobiť, aby moje údaje, aby sa mohli zobraziť ako obrázok?

224×224×3 Array{Float32, 3}:
[:, :, 1] =
 0.117647   0.117647   0.117647   0.117647   …  0.384314  0.396078  0.403922
 0.117647   0.117647   0.117647   0.117647      0.384314  0.392157  0.4
 0.117647   0.117647   0.117647   0.117647      0.384314  0.388235  0.392157
 0.121569   0.117647   0.121569   0.121569      0.388235  0.388235  0.388235
 0.12549    0.117647   0.12549    0.129412      0.396078  0.396078  0.396078
 0.12549    0.117647   0.12549    0.129412   …  0.407843  0.407843  0.407843
 0.12549    0.117647   0.12549    0.129412      0.423529  0.423529  0.423529
 0.145098   0.133333   0.129412   0.129412      0.419608  0.419608  0.419608
 0.14902    0.141176   0.137255   0.137255      0.407843  0.407843  0.407843
 0.141176   0.145098   0.141176   0.137255      0.396078  0.396078  0.396078
 ⋮                                           ⋱                     
julia jupyter-notebook
2021-11-22 16:30:28
2

Najlepšiu odpoveď

2

Stačí len pretvorenie ako 3x224x224.

To bude niečo pozemok

using Images
Images.colorview(RGB, rand(3,224,224))

Toto vráti chybovú

using Images
Images.colorview(RGB, rand(224,224,3))

Preto ak máte pole x že je vo formáte (i,j,3) ak chcete najprv pretvoriť to, ako (3,i,j) a potom použite colorview.

enter image description here

2021-11-24 22:37:59

Budem na vedomie, že vzhľadom na môj spôsob údajov bol setup, musel som to urobiť Images.colorview(RGB, permutedims(x[:, :, :, 1], [3,1,2])) ak chcete zobraziť snímku správne.
logankilpatrick
1

Mimochodom, existuje rozdiel medzi úpravou a permuting rozmery, a budete mať rôzne výsledky z každého.

Tu je pole, kde konečné rozmery mať hodnoty medzi 0 a 1.

using Images

img = Array{Float32}(undef, 5, 5, 3)
img[:, :, 1] = range(0, 1, length= 5^2)
img[:, :, 2] = range(0, 1, length= 5^2)
img[:, :, 3] = range(0, 1, length= 5^2)
5×5×3 Array{Float32, 3}:
[:, :, 1] =
 0.0        0.208333  0.416667  0.625     0.833333
 0.0416667  0.25      0.458333  0.666667  0.875
 0.0833333  0.291667  0.5       0.708333  0.916667
 0.125      0.333333  0.541667  0.75      0.958333
 0.166667   0.375     0.583333  0.791667  1.0

[:, :, 2] =
 0.0        0.208333  0.416667  0.625     0.833333
 0.0416667  0.25      0.458333  0.666667  0.875
 0.0833333  0.291667  0.5       0.708333  0.916667
 0.125      0.333333  0.541667  0.75      0.958333
 0.166667   0.375     0.583333  0.791667  1.0

[:, :, 3] =
 0.0        0.208333  0.416667  0.625     0.833333
 0.0416667  0.25      0.458333  0.666667  0.875
 0.0833333  0.291667  0.5       0.708333  0.916667
 0.125      0.333333  0.541667  0.75      0.958333
 0.166667   0.375     0.583333  0.791667  1.0

Ak sa vám pretvoriť pole zobrazí toto:

colorview(RGB, reshape(img, (3, 5, 5)))

reshaped array1

keďže, ak ste permute dimenzie, budete vidieť toto:

colorview(RGB, PermutedDimsArray(img, (3,1,2)))

permuted dims2

PermutedDimsArray v Snímky vráti zobraziť pôvodný, takže, na rozdiel od permutedimsžiadne kopírovanie vyskytuje.

2021-11-24 22:22:07

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................