Преобразование массива с данными изображения в CvMat

У меня есть изображение в массиве NumPy, который я сохраняю, используя savefig, а затем использую функцию opencv loadImage, чтобы загрузить изображение в CvMat. Но я хочу удалить это сохранение шага изображения.

Мой размер изображения Numpy 25x21, и если я использую функцию fromArray, как

im = cv.fromarray (asarray (img))

Я получаю CvMat размером 25x21, который очень маленький. Но когда я сохраняю изображение в формате png и загружаю его обратно с помощью LoadImage, я получаю полноразмерное изображение размером 429x509.

Может кто-нибудь сказать мне, как я могу получить это полноразмерное изображение из массива NumPy в CvMat? Могу ли я преобразовать изображение из массива numpy в формат png в коде, не сохраняя его с помощью savefig ()? Это то, что я делаю прямо сейчас.

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

Размер изображения выше 525, а gridM и gridN - 25 и 21. Затем я загружаю это изображение, используя:

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

Теперь размер img составляет 429x509.

Ответы на вопрос(1)

Ваш ответ на вопрос