matlab中影象的讀取與儲存
轉自https://blog.csdn.net/cy_543/article/details/41145245
影象處理,主要是對已有的影象進行處理,然後再儲存起來,並不是無中生有,創造出一幅影象。因此,影象的讀取和儲存顯得比較重要。
這裡建立test.m檔案放入已經建立的Matlab資料夾裡,之後的操作都在這裡進行。由於在檔案中操作和Command Window操作的效果一樣,所以就不再加入說明。
第一章:一些函式的介紹
介紹三個常用函式
clc;clear;closeall;
這三個函式不分家,在一個檔案的開頭經常會看到。那麼他們的作用是什麼呢?clc的作用就是清螢幕,即Command Window
當然,也可以單獨使用。這樣就能單獨完成任務。這時最好在Command Window裡操作。
typefunction
Matlab 裡面有很多內建的函式,當我們想檢視函式內容的時候,就可以用type function來實現。比如想要檢視mean函式,Matlab到底是怎麼實現,直接type mean就可以看到。如果是檢視別人的寫的程式,在
ver
檢視當前Matlab版本的函式。一般用不到。
docfunction /help function
可以用來檢視函式的用途,語法,用途。可以說Matlab的help本身就是一本百科全書。很多內容都可以找到
第二章讀取影象
影象的讀取
I=imread(‘pout.tif’);
imread是讀取影象的函式。pout.tif是matlab內建的影象,不管在什麼程式內都可以直接讀取。那麼,如果我們要讀取其他位置的函式怎麼做呢?這裡我們來說幾種常見的情形。
注:Matlab資料夾內有test.m,1.jpg,image資料夾,同時image資料夾內有2.jpg
(1)讀取1.jpg
I=imread(‘1.jpg’);
(2)讀取2.jpg
I=imread(‘image\2.jpg’);%相對路徑的讀取
(3)讀取D:\1023\25\1.jpg
I=imread(‘D:\1023\25\1.jpg’);%絕對路徑的讀取
(4)讀取D:\1023\25內20個影象。
fori=1:20
I=imread([‘D:\1023\25\’,num2str(i),’.jpg’]);
end
注:第四種情況需要注意的是,裡面添加了[ ],來保證這是一個整句。num2str(i)是將i由數字轉換成字元形式。這樣就能實現迴圈讀取。一般來說,會將影象跟.m檔案放在一起。當影象較多時,影象放入image文件中,讀取方式將(2)和(4)結合起來。利用相對路徑來讀取,這樣當程式和影象同時放在其他電腦上時,不會因為路徑而產生問題。
影象的顯示
imshow(I)
imtool(I)
image(I)
關於這三個函式用法的區別,就在上面這個文章內。主要的意思是:imshow顯示按照原來的比例,而image會改變原來影象的比例。imtool,很少用到。那麼用到的時候就再研究吧。一般用imshow就足夠了。
那麼什麼時候用figure呢?當程式中只顯示一幅影象時,直接imshow就可以。然後當影象多的時候,就需要用到figuure;imshow(I1);figure;imshow(I2);figure;imshow(I3)
如果想要在一張圖片內,顯示好幾個圖怎麼辦呢?title顯示在影象的上方,起到提示的作用。
I=imread('pout.tif');
subplot(221);imshow(I);title('1');
subplot(222);imshow(I);title('2');
subplot(223);imshow(I);title('3');
subplot(224);imshow(I);title('4');
其中前面的22代表是2*2的分佈,也可以是2*3,3*4等。按照行來排列,從第一行開始分別為1 2 3 4。如圖所示。
這裡還值得一提的是figure;如果沒有要求的話,直接用figure。此時希望圖2來顯示某個影象,那麼figure(2),就指定來顯示某個影象。當然了,如果僅有一個影象顯示這樣做,那麼可能會被覆蓋掉,因此,一個程式中的用法一定要統一,並且保證後面的,不要把前面的覆蓋掉。
3、檢視和分析結果:
在workspace中會有I291*240 uint874 224 ,就這說明了I是二維影象,大小是291*240,uint8型的。最小值為74,最大值是224.這裡指的是灰度值。
用函式whos就能顯示I的相關資訊:
第三章影象的儲存
1、影象的儲存
imwrite(I,’pout1.jpg’);
同樣,imwrite也有相對路徑和絕對路徑的儲存,以及連續的儲存方法。同imread
imwrite(I,’pout1.jpg’);
imwrite(I,’image\pout1.jpg’);
imwrite(I,’D:\Matlab\image\pout1.jpg’);
imwrite(I,[’image\’,num2str(i),’.jpg’]);%i是變數,需要定義
這裡的.jpg可以改成.bmp等,想要的格式。
需要註明的是,儲存所選擇的資料夾,需要已經建立好。那麼怎麼去自動建立資料夾呢?
需要用mkdir函式。
mkdir(‘D:\image\1’)%絕對路徑的建立。
mkdir(‘image\1’);%絕對路徑資料夾的建立。建立之後,在Matlab資料夾內。
這樣就能夠節省很多的人力。當檔案比較多的情況下,人工去建立的話,還容易出錯。
最後附上今天的程式:當影象較多時,讀取都主要選擇相對路徑,以及迴圈讀取。程式較為簡單。
clc;clear;closeall;
I=imread('pout.tif');
figure;
subplot(221);imshow(I);title('1');
subplot(222);imshow(I);title('2');
subplot(223);imshow(I);title('3');
subplot(224);imshow(I);title('4');
whos;
mkdir('image')
imwrite(I,'image\pout2.jpg');
相關推薦
opencv學習筆記一:影象讀取與儲存
影象讀取函式:cv2.imread(影象路徑,標誌符) 影象路勁可以是絕對路徑和相對路徑; 識別符號有三種: cv2.IMREAD_COLOR (忽視透明度); cv2.IMREAD_GRAYSCALE(轉換成灰度影象讀取); cv2.IMREAD_UNCHANGE
matlab中影象的讀取與儲存
轉自https://blog.csdn.net/cy_543/article/details/41145245影象的讀取和儲存影象處理,主要是對已有的影象進行處理,然後再儲存起來,並不是無中生有,創造出一幅影象。因此,影象的讀取和儲存顯得比較重要。 這裡建立test.m
OpenCV中影象顯示、讀取與儲存
眾所周知,opencv中的cv2.imread函式返回的影象資料,通道是BGR,而不是一般意義上的RGB;但是,這時如果用cv2.imshow進行顯示,看到的卻是正常的樣子;而如果用其他庫的顯示函式,如matplotlib的plt.imshow來顯示,則是異常的顯示,一般都是
matlab 中mat格式資料儲存與讀取
MAT-檔案: mat資料格式是matlab的資料儲存的標準格式。mat檔案是標準的二進位制檔案,還可以ASCII碼形式儲存和載入。 儲存mat檔案: save
iOS開發技巧之:相簿中的GIF圖片的讀取與儲存
大家都知道iOS的系統相簿是不支援gif圖片預覽的。但是,這並不代表系統相簿不能儲存和讀取gif圖片。通過Safari長按gif圖片,選擇儲存到相簿,這時儲存到相簿裡的圖片就是gif的,雖然它不會動。 下面將介紹如何對系統相簿進行gif的讀取與儲存。 什麼是 UTI iOS系統相
OpenCV中原始影象載入與儲存壓縮技巧
載入影象 OpenCV中關於影象讀寫有兩個函式imread與imwrite,imread載入的時候支援灰度影象、彩色影象、原始影象載入,預設情況下通過imread載入的影象都是三通道的BGR彩色影象。 但是實際上OpenCV支援載入任意通道的影象,首先來仔細再看一下imread函式 Mat&
matlab中文字檔案與影象轉化
一 將圖片轉化為txt文字檔案 a=imread('picture.bmp'); //讀取picture.bmp圖片 b=rgb2gray(a); &
pgm格式檔案及其在matlab中的讀取儲存方法(2)
早上寫了好久的blog丟失了,原因是沒有及時儲存。對於線上這種東西還是不習慣,當作教訓好了。 言歸正傳,既然嫌棄fopen,fgetl這些麻煩,而且不好用,那便思考一下pgm究竟是什麼。以下是百度百科【1】的查詢結果: 一套API庫;遊戲系統;步槍
OpenCV2中影象讀取、顯示、儲存等基本操作
之前看《學習OpenCV》這本書,一直在用IplImage,但是我自己安裝的是OpenCV2的,因此,在學這本書的時候,結合自己用的時候會出現很多的疑惑,知道現在才搞清楚,原來這本書是基於OpenCV
Matlab中處理日期與時間的函數
html num 查看 格式 del 需要 log 但是 獲取 Matlab用三種格式來表示日期與時間(1)雙精度型日期數字:一個日期型數字代表從公元0年到某一日期的的天數,例如,2008年8月26日夜時0點鐘被表示為733646,而這同一天的中午12點就被表示為73364
Python 檔案讀取與儲存
file1=open('pima-indians-diabetes.txt','r') file2=open('out.txt','w+') #data=file1.read() i=0 while True: line=file1.readline() tt='"'+line[
自定義XML格式讀取與儲存
背景 本人頭一回寫部落格,請大家多多關照。通過讀取XML檔案獲取使用者管理許可權,其中涉及三部分: 1.XML檔案的生成; 2.XML檔案的讀取; 3.XML檔案的儲存; 如何做 第一步:自己先將XML檔案格式列出來。 XML格
Go語言基礎(十五)—— Go語言實現json資料檔案讀取與儲存
案例: package main import ( "os" "fmt" "encoding/json" "time" ) type Person2 struct { Name string Age int Sex string Hobby []string } fun
R 語言資料讀取與儲存
一、R語言讀取文字檔案: 1、檔案目錄操作:getwd() : 返回當前工作目錄setwd(“d:/data”) 更改工作目錄 2、常用的讀取指令readread.table() : 讀取文字檔案read.csv(): 讀取csv檔案如果出現缺失值,read.
計算matlab中影象的PSNR和SSIM
網上找了很多關於PSNR和SSIM的計算,很多結果算出來都不一樣,公式都是普遍的,如下: 現在總結下造成結果差異的原因。 PSNR的差異: 1.灰度影象:灰度影象比較好計算,只有一個灰度值。 2.彩色影象: (a)可以將分別計算R,G,B三個通道總和,最後
Tensorflow基礎0:檔案的讀取與儲存
檔案讀取流程 學習目標 目標 說明TensorFlow檔案讀取的流程 應用 無 有四種獲取資料到TensorFlow程式的方法: tf.dataAPI:輕鬆構建複雜的輸入管道。(優
32、陣列的讀取與儲存
32、讀取與儲存 import numpy as np s1 = np.array(range(10)).reshape((2,5)) print(s1) np.save('./陣列',s1) 將s1 儲
OpenCv-Python-01 影象載入與儲存
雖然OpenCv主要是基於C/C++的,但是也支援Python。基本操作與OpenCv C++有點類似。 主要說明都已加註釋… 影象載入與儲存 import cv2 as cv import numpy as np #跟Mat()類似,但Python不用Mat() def g
matlab中 str2num 函式與 str2double 函式的區別
str2num 函式與 str2double 函式的相同點與不同點 1. 相同點: 當str為一個含數字的
影象顯示與儲存
設計WinForm程式,將圖片fy.jpg以指定大小顯示在窗體上的PictureBox1控制元件上,並將顯示的影象儲存在另一檔案中。 using System; using System.Collections.Generic; using System.ComponentModel; us