Konwersja tablicy numpy zawierającej dane obrazu na CvMat

Mam obraz w tablicy numpy, który zapisuję używając savefig, a następnie używam funkcji opencv loadImage, aby załadować obraz do CvMat. Ale chcę usunąć ten zapis kroku obrazu.

Mój rozmiar obrazu Numpy wynosi 25x21, a jeśli używam funkcji fromArray, jak

im = cv.fromarray (asarray (img))

Dostaję CvMat o rozmiarze 25x21, który jest bardzo mały. Ale kiedy zapisuję obraz do formatu png i ładuję go z powrotem za pomocą LoadImage, otrzymuję pełnowymiarowy obraz o wielkości 429x509.

Czy ktoś może mi powiedzieć, jak mogę uzyskać ten pełnowymiarowy obraz z tablicy numpy do CvMat? Czy mogę przekonwertować obraz z tablicy numpy na format png w kodzie bez zapisywania go za pomocą savefig ()? Właśnie to robię teraz.

imgFigure = imshow(zeros((gridM,gridN)),cmap=cm.gray,vmin=VMIN,vmax=5,animated=True,interpolation='nearest',extent=[xmin,xmax,ymin,ymax])  
imgFigure.set_data(reshape(img,(gridM,gridN)))  
draw()  
fileName = '1p_'
fileName += str(counter)
fileName += ".png" 
savefig(fileName,bbox_inches='tight',pad_inches=0.01,facecolor='black')

Rozmiar img powyżej wynosi 525, a gridM i gridN to 25 i 21. Następnie ładuję ten obraz za pomocą:

img = cv.LoadImage(fileName, cv.CV_LOAD_IMAGE_GRAYSCALE)

Teraz rozmiar img to 429x509.

questionAnswers(1)

yourAnswerToTheQuestion