Konvertieren eines Numpy-Arrays mit Bilddaten nach CvMat

Ich habe ein Bild in einem Numpy-Array, das ich mit savefig speichere und dann mit der opencv loadImage-Funktion auf eine CvMat lade. Aber ich möchte dieses Speichern des Bildschritts entfernen.

Meine Numpy Image Größe ist 25x21, und wenn ich fromArray nutze funktioniert das gerne

im = cv.fromarray (asarray (img))

Ich bekomme eine CvMat der Größe 25x21, die sehr klein ist. Aber wenn ich das Bild im PNG-Format speichere und es mit LoadImage zurücklade, erhalte ich das Bild in voller Größe in der Größe 429x509.

Kann mir bitte jemand sagen, wie ich dieses Bild in voller Größe von Numpy Array zu CvMat bekomme? Kann ich das Bild von einem Numpy-Array in ein PNG-Format im Code konvertieren, ohne es mit savefig () zu speichern? Das mache ich gerade.

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')

Die Größe des obigen Bildes ist 525 und gridM und gridN sind 25 und 21. Dann lade ich dieses Bild mit:

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

Jetzt ist Bildgröße 429x509.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage