Преобразование массива с данными изображения в 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.