Convertendo matriz numpy com dados de imagem para CvMat
Eu tenho uma imagem em um array numpy que eu salvo usando savefig e, em seguida, use a função opencv loadImage para carregar a imagem para um CvMat. Mas eu quero remover isso salvando a etapa da imagem.
O tamanho da minha imagem numpy é 25x21, e se eu usar a função fromArray como
im = cv.fromarray (asarray (img))
Eu recebo um CvMat de tamanho 25x21 que é muito pequeno. Mas quando eu salvar a imagem para o formato png e carregá-lo de volta usando LoadImage, recebo a imagem de tamanho completo de tamanho 429x509.
Alguém pode por favor me dizer como faço para obter essa imagem de tamanho completo de matriz numpy para CvMat? Posso converter a imagem da matriz numpy para um formato png no código sem salvá-lo usando savefig ()? Isso é o que estou fazendo agora.
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')
O tamanho de img acima é 525 e gridM e gridN são 25 e 21.Depois eu carrego essa imagem usando:
img = cv.LoadImage(fileName, cv.CV_LOAD_IMAGE_GRAYSCALE)
Agora tamanho img é 429x509.