Jak zobrazit (224, 224, 3) obraz v Jupyter Notebooku s Julií?

0

Otázka

Mám 224x224 obraz s 3 kanály. Chcete-li zobrazit obraz v Jupyter Notebooku. Když jsem si IJulia.display(imgs[:, :, :, 1])všechny jsem si je hrubá čísla, a ne skutečný obraz. Kód funguje s ImageView.imshow ale chci zachytit obraz v notebooku sám. Co musím udělat, aby mé údaje byly schopni ukázat jako obrázek?

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

Nejlepší odpověď

2

Stačí jednoduše přetvořit jako 3x224x224.

To bude spiknutí něco

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

To vrátí chybu

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

Proto pokud máte pole x to je ve formátu (i,j,3) chcete první přetvořit to, jak (3,i,j) a pak použít colorview.

enter image description here

2021-11-24 22:37:59

Budu na vědomí, že, protože, jak moje údaje nastavení, musel jsem to udělat Images.colorview(RGB, permutedims(x[:, :, :, 1], [3,1,2])) chcete-li zobrazit obraz správně.
logankilpatrick
1

Mimochodem, je rozdíl mezi přetváření a permuting rozměry, a dostanete různé výsledky se od sebe.

Tady je pole, kde konečné dimenze mají hodnoty mezi 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

Pokud se vám přetvořit pole, uvidíte tohle:

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

reshaped array1

vzhledem k tomu, že pokud budete obměňovat rozměry, uvidíte tohle:

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

permuted dims2

PermutedDimsArray v Obrazech se vrací pohled na původní, tak, na rozdíl od permutedimsžádné kopírování vyskytuje.

2021-11-24 22:22:07

V jiných jazycích

Tato stránka je v jiných jazycích

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