前言:作爲一個編程思維極弱的小白,就算是matlab的學習也稍有困難。但也想學好自己選擇的路。從最簡單的開始,記錄學習,也算監督自己。
今天的筆記是圖片格式轉換,廢話不說,直接上代碼:
a=512; b=512;
%定義了圖片的大小。也就是,圖片是由512*512個格子組成
img=fopen('lena(512x512).raw','r');
%這裏使用打開文件的函數fopen
k=fread(img, [b a],'uint8=>uint8');
%讀取圖片的函數fread ,這裏的'uint8=>uint8'意思是讀入uint8的圖片並將其數據存入uint8的數組
k = k.';
%這裏不進行行列置換的話 輸出圖片會是旋轉90度的
fclose(img);
imwrite(k,'lena(512x512).jpg','jpg');
imwrite(k,'lena(512x512).bmp','bmp');
imwrite(k,'lena(512x512).gif','gif');
%按照需要的格式存入
subplot(1,3,1)
jpg_picture=imread('lena(512x512).jpg');
imshow(jpg_picture);
subplot(1,3,2)
bmp_picture=imread('lena(512x512).bmp');
imshow(bmp_picture);
subplot(1,3,3)
gif_picture=imread('lena(512x512).gif');
imshow(gif_picture);
%輸出圖片 多圖輸出時候使用subplot函數,詳細使用百度。