我有一堆图像存储为数据库中的blob数据,现在我想使用MATLAB从mysql读取(检索)这些图像,然后进行进一步的图像处理。但问题是:检索到的数据是N * 1 unit8向量,不能用于图像特征(如SIFT)提取实现。以下是我的代码:
conn = database.ODBCConnection('test','username','password');
curs = exec(conn,'select image from roomimage'); % image is the column of saved blob data, and roomimage is the table in database
curs = fetch(curs);
img=curs.Data{1,1}; % as and example, read the first image
然后我上课(img)= unit8,大小是111365 * 1
然后,如果我写并保存为图像文件:
imwrite(img,'test.jpg')
imwrite(img,'test.png') % alternatively, I also tried to save it as .png file
问题出现了:无法打开保存的文件! :(
有人可以告诉我,在使用MATLAB时,如何从mysql中读取blob数据,将其保存为.jpg文件,可以作为图像打开吗?非常感谢!!!
#添加:如果我事先从mysql导出并保存图像,然后将图像从本地文件加载到MATLAB,我会得到类似:683 * 1024 * 3 unit8数据,这与从mysql读取的N * 1向量不同。 ..