Extract Image from BLOB OBJ in Oracle database table
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi All,
I have a oracle database with tables in it. Some of the tables have fields of (BLOB), I know that these BLOBS contain pure jpeg image.
I can export the data in BLOB as matrices by MATLAB, these matrices are all one column matrices as I expected. However, what I really need to do is to have the .jpg image output. Does anyone have any idea how I could do this in MATLAB?
1 Kommentar
Mustafa Zendaki
am 16 Mär. 2021
can you please share the code of how you exported he blob into matlab, i would really appreciate it
Antworten (2)
Walter Roberson
am 1 Sep. 2011
If you want to display the image, you will have to write it to a file and use imread() .
There might be an undocumented method, or perhaps a JAVA method, of converting the byte stream in to an image array, but there is no documented MATLAB routine for doing this.
Aleksy Barski
am 6 Apr. 2018
Bearbeitet: Aleksy Barski
am 6 Apr. 2018
function [ image ] = deserializeImage( blob )
obj = blob{1,1};
is = obj.getBinaryStream();
bufferedImage = javax.imageio.ImageIO.read(is);
H = bufferedImage.getHeight;
W = bufferedImage.getWidth;
B = uint8(zeros([H,W,3]));
pixelsData = uint8(bufferedImage.getData.getPixels(0,0,W,H,[]));
for i = 1 : H
base = (i-1)*W*3+1;
B(i,1:W,:) = deal(reshape(pixelsData(base:(base+3*W-1)),3,W)');
end
image = B;
clear bufferedImage;
clear is;
end
0 Kommentare
Siehe auch
Kategorien
Mehr zu Database Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!