J'utilise skimage
pour convertir des images RVB en espace de couleurs Lab, mais il semble que skimage utilise le type de données float64
alors que Tensorflow utilise float32
.Utilisation d'images de laboratoire 32 bits dans Tensorflow
Existe-t-il un moyen de convertir l'image de laboratoire 64 bits en type de données 32 bits? La documentation ne couvre rien de spécifique à ce sujet et je ne suis pas sûr que l'utilisation de image.astype(np.float32)
soit la meilleure solution, car elle pourrait endommager la précision des données (ou non).
est ici une partie du code:
from skimage import color, io
import numpy as np
rgb = io.imread('Test.jpg') # Could be any shape
lab = color.rgb2lab(rgb)
converted = np.array(lab).astype(np.float32)
rgb = color.lab2rgb(converted)
La dernière ligne donne une erreur:
ValueError: Images of type float must be between -1 and 1.
et voici la trace de pile:
File "C:\Anaconda3\lib\site-packages\skimage\color\colorconv.py", line 928, in lab2rgb
return xyz2rgb(lab2xyz(lab))
File "C:\Anaconda3\lib\site-packages\skimage\color\colorconv.py", line 855, in lab2xyz
arr = _prepare_colorarray(lab).copy()
File "C:\Anaconda3\lib\site-packages\skimage\color\colorconv.py", line 153, in _prepare_colorarray
return dtype.img_as_float(arr)
File "C:\Anaconda3\lib\site-packages\skimage\util\dtype.py", line 291, in img_as_float
return convert(image, np.float64, force_copy)
File "C:\Anaconda3\lib\site-packages\skimage\util\dtype.py", line 195, in convert
raise ValueError("Images of type float must be between -1 and 1.")
ValueError: Images of type float must be between -1 and 1.
Utiliser 'img_as_float (laboratoire) .astype (np.float32)' me donne la même erreur que l'utilisation 'np.array (laboratoire) .astype (np .float32) '=>' Les images de type float doivent être entre -1 et 1. 'Vous pouvez même essayer le code vous-même. – Cypher
Si vous démarrez avec un tableau à virgule flottante qui n'est pas compris entre -1 et 1, vous pouvez rencontrer ce problème. Si vous postez un exemple d'image ou si vous pouvez illustrer votre problème sur l'une des images d'exemple 'skimage.data', je serais ravi d'y jeter un autre coup d'œil. –