1樓:
用cell陣列就可以使用迴圈了。比如a = cell(100, 1); 這樣用a一直到a就可以像100個變數一樣使用了,而且還支援i=10; a=... 這種動態訪問。
利用matlab中的imread怎麼讀取**
2樓:可以叫我表哥
方法/步驟
1、在matlab軟體中,讀取影象資料(載入)利用的是imread函式,主要有以下4種方式:
a = imread(filename, fmt)
[x, map] = imread(...)
[...] = imread(filename)
[...] = imread(url,...)
[...] = imread(...,param1,val1,param2,val2...)
作為初步以及最為常見的方式,採取第一種講解。
如下圖所示即為將載入的**,**格式(jpg) :
2、在命令視窗(command window)輸入語句:
即讀入**資料儲存在imdata矩陣中。如下所示,在workspace可以看到該矩陣資訊,是一個3維矩陣。
3、在讀入影象資料後就可以進行各種演算法操作,簡單介紹幾種常見的**操作,如下**可以將彩色圖轉為灰度圖:
>> imgray = rgb2gray(imdata);
>> imshow(imgray);
4、影象二值化操作,如下所示即可:
>> lev = graythresh(imdata);
>> bwimg = im2bw(imdata,lev);
>> imshow(bwimg)
二值化後影象如下所示:
3樓:碧漱
你要把**存在matlab的那個最小檔案底下才行 就是你的matlab頁面顯示的那個路徑底下
4樓:韓帥
有可能是matlab不識別你的路徑中的中文。
你可以在e盤下新建一個資料夾 road,把**拷到這個資料夾裡;然後新增路徑,
addpath('e:\road\);
然後就可以c=imread('e:\road\p5140106.yue.tif');
5樓:使用者名稱哦嗯嗯
我也是,這個要怎麼解決呢
在matlab中,將多張**的檔名放到一個陣列中,對陣列排序後,如何用imread讀取**這些**並輸出顯示
6樓:匿名使用者
參照這樣的格式
for i=1:300
q(:,:,i)=imread(['m',num2str(i),'.bmp']);
end**名稱就是1.bmp、2.bmp.......3.bmp
如何用matlab讀取資料並按指定格式輸出
7樓:匿名使用者
matlab影象處理工具箱支援四種基本影象型別:索引影象、灰度影象、二進位制影象和rgb影象。matlab直接從影象檔案中讀取的影象為rgb影象。
它儲存在三維陣列中。這個三維陣列有三個面,依次對應於紅(red)、綠(green)、藍(blue)三種顏色,而面中的資料則分別是這三種顏色的強度值,面中的元素對應於影象中的畫素點。設所得矩陣為x三維矩陣(256,256,3) ,x(:
,:,1)代表紅顏色的2維矩陣 x(:,:
,2)代表綠顏色的2維矩陣, x(:,:,3)代表蘭顏色的2維矩陣。
[x, map]=imread('34.bmp');r=double(x(:,:
,1)); %r是256 x 256的紅色資訊矩陣g=double(x(:,:,2)); %g是256 x 256的綠色資訊矩陣b=double(x(:
,:,3)); %b是256 x 256的蘭色資訊矩陣
索引影象資料包括影象矩陣x與顏色圖陣列map,其中顏色圖map是按影象中顏色值進行排序後的陣列。對於每個畫素,影象矩陣x包含一個值,這個值就是顏色圖陣列map中的索引。顏色圖map為m×3雙精度矩陣,各行分別指定紅、綠、藍(r、g、b)單色值,map=[rgb],r、g、b為值域為[0,1]的實數值,m為索引影象包含的畫素個數。
對於相同的資料,採用uint8格式比雙精度格式節省記憶體空間,從而更經濟。在matlab中
如果索引影象的顏色圖小於256行,則它的影象矩陣以uint8格式儲存,否則以雙精度格式儲存。
一:imread:從影象資料夾中讀取影象。
a = imread(filename,fmt) 讀取影象到a,如果檔案是包含一灰度影象,a是一二維矩陣,如果檔案是包含一真彩色影象(rgb),a是一三維矩陣(m-by-n-by-3)。filename :影象檔名;fmt:
影象檔案格式;
檔案必須在當前目錄下,或在matlab的一路徑上。如果 imread不能夠找到一名稱為filename的檔案,那麼它將找一名為filename.fmt的檔案
[x,map] = imread(filename,fmt) 把影象filename讀入與它相關的影象色彩資訊寫入map,影象色彩資訊值在範圍[0,1]中自動地重新調整.
[...] = imread(filename)這種方式是試圖得到檔案的格式從檔案所包含的資訊。
[...] = imread(url,...)從一internet url上讀影象 url 必須包含協議(即: "http://").
1.2資料型別:
tiff的特殊語法:
[...] = imread(...,idx) 從很多影象tiff檔案中讀一個影象;idx是一個整數值,它顯示了所讀影象在檔案中的順序,例如:
如果 idx是 3, imread將讀檔案中的第三個影象。 如果省略了這個變數, imread將讀檔案中的第一個影象.
imread支援的影象檔案格式:jpeg tiff gif bmp png hdf pcx xwd ico cur ras pbm pgm ppm
相關資訊也可在matlab中檢視: imfinfo, imwrite, imformats, fread,
二:imwrite輸出影象
imwrite(a,filename,fmt) 把影象 a 寫入影象檔案 filename.
imwrite(x,map,filename,fmt) 把 x和它的相關色彩資訊map寫入filename.
imwrite(...,filename) 把影象 寫入影象檔案filename,並推測可能的格式用來做filename的副檔名。副檔名必須是fmt中一合法名.
imwrite(...,param1,val1,param2,val2,...) 不同的引數控制輸出檔案的各種不同特徵。
引數要是當前所支援的hdf,jpeg, tiff, png, pbm, pgm, 和ppm 檔案
三:image 顯示影象.image(c) 把矩陣 c 轉成一影象.
c 可以是一mxn 或 mxnx3維的矩陣,且可以是包含 double, uint8,或 uint16 資料.image是用來顯示附標影象,即顯示的影象上有x,y座標軸的顯示,可以看到影象的畫素大小。但可以加上axis off命令即可把座標去掉。
imshow只是顯示影象。用colormap來定義影象顯示用的顏色查詢表,比如用colormap(pink),可以把黑白影象顯示成帶粉紅色的影象。
影象畫素矩陣的資料型別:(1)顯示真彩色影象畫素三維矩陣x,如果是uint8型別,要求矩陣的資料範圍為0-255,(2)如果是double型,則其資料範圍為0-1,要不就會出錯或者出現空白頁。
型別轉換:(1)如果你原來的數值是uint8,在運算中轉換為double後,實際要顯示的數值沒有改變的話,只要用uint8(x)就可轉換為uint8型,如果不想轉換頻繁,也可在顯示時用x/255來轉換為符合0-1double型別範圍要求的數值顯示。(2)如果顯示索引影象(二維矩陣),如果索引影象畫素數值是double型,則它的取值範圍為1-length(colormap),數值起點為1,則矩陣中數值為1的對應colormap中第一行資料,如果索引影象畫素數值是uint8,則取值範圍為0-255,數值起點為0,則矩陣中數值為0的對應colormap中第一行資料,所以索引影象這兩個資料型別之間的轉換,要考慮到+1或-1。
直接用uint8或double轉換則會查詢移位,產生失真情況。uint16資料型別與uint8類似,取值範圍為0-65536。
四:其它常用影象操作:
影象顯示於螢幕有imshow( ), image( )函式;
影象進行裁剪imcrop( );
影象的插值縮放imresize( )函式實現;
旋轉用 imrotate( )實現。
五:具體的操作
下面通過運用影象處理工具箱中的有關函式對下圖(nice.bmp)進行一些變換。見後面的transfer.m內容!
變換前**:(nice.bmp)
變換後所得**:newpic.bmp
例,在電腦f\picture下有一彩色影象檔案nice.bmp,則可由下述語句讀取:
下面是對影象 nice.bmp以y軸為對稱軸所做的一個對稱變換。
% transfer1.m
clear all
figure
[x,map]=imread('f:\picture\nice.bmp');% 所得x為一375x420x3的矩陣
[w1,w2,w3]=size(x); % 375 x 420
w22=floor(w2/2);
image(x); %顯示出影象
title('hello! @this is the first pose of me')%則顯示出影象nice.bmp
axis off; % 去掉影象中的座標
colormap(map); % colormap(),影象查詢表函式。函式結構為colormap(map),設定當前的影象查詢表到map。
imwrite(x,map,'nice.bmp')
for i=1:w1
for j=1:w22 % 影象關於y軸對摺
t=x(i,j);
x(i,j)=x(i,w2-j+1);
x(i,w2-j+1)=t;
endend
figure
image(x);
axis off
title('hello!!@@ can you find any difference of my two picture! ') colormap(map);
imwrite(x,map,'newpic.bmp') %把x寫到nepic2.bmpz中去
% transfer1.m檔案中包含了最基本也是最常用的對讀像處理的命令。
在對影象處理的整個過程中,實質上是對[x,map]=
如何將AI檔案匯入AE中,如何將AI檔案匯入AE中
直接拖進去就ok了 拖到素材視窗 pdf.ai檔案是ai格式的咯,pdf不行的 ae裡面如何編輯ai檔案 把ai檔案匯入到ae裡面製作動畫的 但是在ae裡面怎麼對ai檔案進行編輯啊 ai中得路徑怎麼匯入到ae中 ai和ae都是adobe公司的軟體,所以他們相容性很高,ai的路徑可以直接ctrl c複...
如何將pdf檔案合併,如何將PDF檔案合併
把多個pdf檔案合併到一起要先確定好檔案的合併順序。然後開啟pdf合併軟體,把要合併的pdf文件都新增到合併列表中。最後按順序調整好pdf檔案位置。設定好就可以點合併按鈕進行合併了。pdf檔案怎麼合併?pdf怎麼合併?怎樣將幾個pdf檔案合併?在日常工作中,我們可能需要會將多個pdf文件合併在一起,...
請問如何將檔案調到北京,請問如何將檔案調到北京?
首先要確定該單位是否解決你的戶口進京問題,如果解決,您需要辦理的是留學生檔案入京 北京落戶方式有很多,不同方式處理檔案問題,但是相同的都是需要檔案接收函。1.北京夫妻兩地分居幹部工人配偶調京,北京單位同意接收函,外地存檔單位同意調出函。2.人才調京配偶隨遷調京同意接收函,3.博士後出站配偶隨遷檔案接...