容易忘記的小知識點:html
Matlab程序首行程序:數組
clear;close all;clc;程序運行開始最好清理下以前殘留的各類數據,否則matlab可能會出錯。ide
clear(清理變量空間),close all(關掉全部顯示的圖像figure),clc(清理命令窗口中的顯示)函數
Matlab程序換行(一個空格加上3個.即 ...而後直接下一行就能夠繼續寫代碼)ui
Matlab下程序計時spa
以下:tic和toc能夠在程序中使用多個,計算各個程序字塊的運行時間。還能夠嵌套使用。。。3d
tic;%計時開始
%%%%%%%%%%% 程序 %%%%%%%%%%% toc;%計時結束
tic和toc能夠嵌套使用,都是找最近的toc老是找最近的tic,相似於if end的配合,若是想直接輸出運行時間,只要相似於 disp(['拷貝去冗餘的數據共花費時間:',num2str(toc)]);,便可。code
Matlab查詢數據類型視頻
class htm
Matlab提取當前運行程序的文件名
因爲程序偏多,運行了一堆,都不知道正在跑那個程序,在程序開頭加上後面這段代碼,就能夠了。
clear;close all;clc; disp('當前正在執行的程序是:'); disp([mfilename('fullpath'),'.m']);
流程控制:
數據操做:
數值取整:
matlab中共有四種數值取整,含義分別以下:
fix(x), 將x向0取整
round(x), 向最近的整數取整
floor(x), 向負無窮取整
ceil(x), 向正無窮取整
取隨機數:
取隨機的排列:
randperm:
Syntax
p = randperm(n)
p = randperm(n,k)
Description
p = randperm(n)返回一個包含從1到n隨機排列整數的行向量
p = randperm(n,k)返回一個包含從1到n隨機排列整數中k個獨特整數的行向量
數據類型轉換:
字符串操做:
比較兩個字符串是否相等:
合併字符串:
初始感受這函數就跟[]的做用差很少,但後面看了描述才知道,這函數應用更廣,畢竟中括號[],只能合併一行字符串,函數strcat能夠同時處理多行的array、cell、string。
數組操做:
判斷數組是否爲空:
isempty(A):若是數組A爲空,返回logical 1(true),不然返回logical 0 (false).這個函數常常配合其他的函數一塊兒使用(處理其它函數的返回值),加在if後面起到判斷做用
求數組均值:
mean:默認是1,按列求均值。
整塊複製數組:
repmat(A,m,n):總體按行擴展m倍,按列擴展n倍
結構體:
cell:
文件、文件夾操做:
圖像操做:
顯示:
改變imshow出來的圖片的數字標題,爲本身想要的信息,這樣在同時顯示大量的圖片的時候,方便了解圖片的信息。
figure;imshow(frameSamp1); set(gcf,'NumberTitle','off'); set(gcf,'Name','讀取出的視頻中的第一幀');
把上面的 讀取出的視頻中的第一幀,改成本身想要的漢字便可。
圖片用更大尺寸imshow(相似於上面,在imshow後面加入下面的語句)
set(gcf,'outerposition',get(0,'screensize'));%這應該就是全屏顯示的意思
上面這兩個能夠結合使用
imwrite圖片到到指定的文件夾,以下,直接把完整的絕對路徑包含文件名用中括號[]括起來就能夠
tempBlack爲圖片,後面[]包含的爲絕對路徑加文件名
imwrite(tempBlack,[savePathNo1,savePathNo2{1},'\',savePathNo3{i+1},'\',saveNameNo1{font},num2str(videoCount-2), ... saveNameNo2{type},num2str(i),'Black',num2str(j),'.jpg']);
在一個圖片中顯示多個子圖:
figure; subplot(2,3,1),imshow(sampPic); subplot(2,3,2),imshow(tempBlack); subplot(2,3,3),imshow(tempWhite); subplot(2,3,4),imshow(tempBitBlack); subplot(2,3,5),imshow(tempBitWhite); set(gcf,'NumberTitle','off'); set(gcf,'Name','截取的一個小塊的變換');
subplot配合使用title
1 figure; 2 subplot(2,3,1),imshow(f1); 3 title('原始圖片'); 4 subplot(2,3,2),imshow(f2); 5 title('要被減的圖片'); 6 subplot(2,3,3),imshow(f3); 7 title('差值圖片'); 8 9 f31=f3(:,:,1); 10 subplot(2,3,4),imshow(f31); 11 title('差值圖片第一維'); 12 f32=f3(:,:,2); 13 subplot(2,3,5),imshow(f32); 14 title('差值圖片第二維'); 15 f33=f3(:,:,3); 16 subplot(2,3,6),imshow(f33); 17 title('差值圖片第三維'); 18 19 set(gcf,'NumberTitle','off'); 20 set(gcf,'Name','全部的數據展現');
數據可視化:
GUI:
修改已經生成的fig
在命令窗口中輸入guide,而後選擇existing fig
新建 gui open existing gui
在每一個控件的Callback的最後面加上guidata(hObject,handles);這句是保存這個控件的全部內容的意思,方便別的控件調用。在別的控件前面加上handles = guidata(hObject);,就能夠調用別的函數
GUI:函數
打開指定的文件
[handles.FileName,pathName] = uigetfile('*.jpg','Select the jpg file','D:\'); % handles.FileName就是文件名 % PathName就是路徑 %默認打開jpg格式的圖片 %文本框顯示爲Select the jpg file %默認打開的路徑爲D盤
在界面當中顯示文本。
選中Static Text,而後對應的Tag
set(handles.text11,'String',[pathName,pictureNameList(pictureNo+2).name]);%在界面顯示當前顯示圖片的完整絕對文件名
後面就是一個字符串就行[pathName,pictureNameList(pictureNo+2).name]