matlab讀取文件夾圖片
㈠ matlab 讀取不同文件夾下不同圖片,進行處理。
不知道你從哪裡找來這么一段代碼,簡單看了一下,這段代碼的功能是,搜索指定文件夾的子目錄中所有擴展名為jpg的文件,並把文件的路徑名保存到jpgpath這樣一個cell數組中,每行代表一個子目錄。
存在以下問題:
1、這段代碼並不包括你所說的拼接圖片的功能。
2、第一個for循環的if語句沒有考慮文件夾中除了子目錄還可能有文件存在,這是一個很愚蠢的錯誤。
3、第二個for循環用來搜索各子目錄中的jpg文件,並把文件的路徑名保存在一個2維cell數組中。這個做法也是比較愚蠢的,因為各子目錄中的jpg文件數量可能相差很多,這種存儲方式不可取。
在現有代碼基礎上改寫實現拼接圖片的功能並不困難,但需要明確一些問題:
1、文件是否有順序問題(按什麼排序)?
2、縱向還是橫向拼接?
3、如果各圖片的寬(或高)不同,怎樣處理?可選的方式至少有以下幾種:
(1)按最大寬度,對於較小寬度的圖片,不足部分以某種顏色填充;
(2)按最大寬度,對於較小寬度的圖片,放大以適應最大寬度(又可區分是否鎖定寬高比);
(3)按最小寬度,對於較大寬度的圖片,剪切多餘的部分(又可細分為保留哪個部分);
(4)按最小寬度,對於較大寬度的圖片,縮小以適應最小寬度。
4、保存的文件怎樣命名、保存在什麼位置?可以考慮與子目錄同名(加上jpg擴展名),存放在所指定的文件夾中(而不是子目錄中)
㈡ 用MATLAB如何讀取一個文件夾里的圖片
1、查看圖片所在的位置。
㈢ 怎樣用matlab讀取一個文件夾下的多個子文件夾中的多個jpg圖片,急用啊~~~
這個簡單,參考如下:
imgPath='E:/imageData/';%圖像庫路徑
imgDir=dir([imgPath'*.jpg']);%遍歷所有jpg格式文件
fori=1:length(imgDir)%遍歷結構體就可以一一處理圖片了
img=imread([imgPathimgDir(i).name]);%讀取每張圖片
(3)matlab讀取文件夾圖片擴展閱讀:
需要先遍歷所有子文件夾,然後依次再遍歷每個子文件夾下的圖片,程序如下。
imgDataPath='E:/imageData/';
imgDataDir=dir(imgDataPath);%遍歷所有文件
fori=1:length(imgDataDir)
if(isequal(imgDataDir(i).name,'.')||...%去除系統自帶的兩個隱文件夾
isequal(imgDataDir(i).name,'..')||...
~imgDataDir(i).isdir)%去除遍歷中不是文件夾的
continue;
end
imgDir=dir([imgDataPathimgDataDir(i).name'/*.jpg']);
forj=1:length(imgDir)%遍歷所有圖片
img=imread([imgDataPathimgDataDir(i).name'/'imgDir(j).name]);
end
end
ImgDir返回一個包含每個圖像名稱、日期、位元組、isdir和datenum的結構。一般情況下,我們只需要用圖片的名稱來完成圖片的遍歷工作
㈣ 怎麼用MATLAB批量讀取一個文件夾裡面的圖片 並進行處理呢
1 圖像按編號命名:1.jpg, 2.jpg,....,n.jpg
2 循環讀圖
I=cell(1,n);
for i=1:n
imageName=strcat(num2str(i),'.jpg');
I{i} = imread(imageName);
end
3 處理圖像
-----------------------
如果圖像很多,那麼最好這樣,第二步和第三步合並
for i=1:n
imageName=strcat(num2str(i),'.jpg');
I = imread(imageName);
處理當前圖像
end
㈤ matlab讀取文件夾下jpg圖片並計算每個圖片白色像素點數量
file_path='c:a';
img_path_list=dir(strcat(file_path,'*.jpg'));
img_num=length(img_path_list);
ifimg_num>0
forj=1:img_num
image_name=img_path_list(j).name;
I=imread(strcat(file_path,image_name));
r=I(:,:,1)==255;
g=I(:,:,2)==255;
b=I(:,:,3)==255;
L=r&g&b;
value{j}=sum(L(:));
end
end
㈥ 利用Matlab中的imread怎麼讀取圖片
方法/步驟
1、在matlab軟體中,讀取圖像數據(載入)利用的是imread函數,主要有以下4種方式:
A = imread(filename, fmt)
[X, map] = imread(...)
[...] = imread(filename)
[...] = imread(URL,...)
[...] = imread(...,Param1,Val1,Param2,Val2...)
作為初步以及最為常見的方式,採取第一種講解。
如下圖所示即為將載入的圖片,圖片格式(jpg) :
㈦ 關於MATLAB逐一讀取一個文件夾中的圖片
myfile通過dir讀取的是結構體,其中有name屬性。一般需要文件名,此外還有文件大小,是文件還是文件夾。
㈧ matlab中讀取文件夾中的所有圖像
一、先用cd命令進入所在文件夾;
二、定義變數例如apath,令apath=dir;
三、文件名變數name=apath(i,1).name;
四、圖像數據pic=imread(name);
五、將讀出的圖像數據保存,用什麼命令你自己查查,這個應該不難。
㈨ matlab 從文件夾中找圖片的程序
比如你想讀取所有jpg格式的文件
filename=dir('*.jpg');
然後
filename(i).name
就是第i張圖片的名稱了,你就可以讀取了
比如
A=imread(filename(1).name);
你可以指定某文件夾下進行搜索,默認是current dictionary
㈩ 有沒有大神指點一下,我想用MATLAB讀取按順序讀取一個文件夾里的圖片,
你首先把文件名都改成
001.jpg
002.jpg
003.jpg
……
然後
for i=1:n
picname=['00',num2str(i),'.jpg'];
II=imread(picname);
end