pyplot.imsave() permet de sauvegarder l'image correctement, mais cv2.imwrite() enregistrée à la même image en noir
from scipy.misc import imread
from matplotlib import pyplot
import cv2
from cv2 import cv
from SRM import SRM ## Module for Statistical Regional Segmentation
im = imread("lena.png")
im2 = cv2.imread("lena.png")
print type(im), type(im2), im.shape, im2.shape
## Prints <type 'numpy.ndarray'> <type 'numpy.ndarray'> (120, 120, 3) (120, 120, 3)
srm = SRM(im, 256)
segmented = srm.run()
srm2 = SRM(im2, 256)
segmented2 = srm2.run()
pic = segmented/256
pic2 = segmented2/256
pyplot.imshow(pic)
pyplot.imsave("onePic.jpg", pic)
pic = pic.astype('uint8')
cv2.imwrite("onePic2.jpg", pic2)
pyplot.show()
onePic.jpg
donne la bonne image segmentée mais onePic2.jpg
donne un complet noir de l'image.
La conversion du type de données à uint8
à l'aide de pic = pic.astype('uint8')
n'a pas aidé. Je donne toujours une image en noir!
onePic.jpg à l'aide de pyplot.imsave()
:
onePic2.jpg à l'aide de cv2.imwrite()
:
S'il vous plaît aider!
Vous devez vous connecter pour publier un commentaire.
Avant la conversion
pic
àuint8
, vous devez multiplier par 255 pour obtenir la plage correcte.