創作內容

0 GP

Matlab筆記 讀取 指定的檔案

作者:疑問│2020-07-29 14:01:02│巴幣:0│人氣:689
4滴
因緣際會,又回來寫程式了。而且變成matlab了,怎麼可以這麼苦呢?

今天講解這個指令:uigetfile  用於指定檔案+路徑,寫的方式如下:

[filename_tmp,training_image_path_tmp] = uigetfile(['*'],['Please input sample'],'MultiSelect', 'on');   

這個方式寫出來的選取功能,可以一次選多個檔案......也可以只選一個檔案。
可是,
當只選擇一個檔案,filename_tmp 會是字串string;當多個檔案filename_tmp 會是細胞陣列cell。
總之,儲存文字的方式不同。

所以需要寫一個判斷式,讓程式知道filename_tmp 是不是cell,如果是cell,再轉換成string;
如果不是cell,那就不進行轉換。((如果仍進行轉換,error))

這部分的code就不附上了。

接著再進行,檔案的讀取,由於操作的是二維RGB圖片檔故使用 imread

    A_matraix=imread(strcat(string(training_image_path_tmp),filename_tmp));

由於 imread 這個指令,好像只吃char,所以
1. 要先將 檔案路徑training_image_path_tmp(char)轉成string
2. training_image_path_tmp(string)與 filename_temp(string) 進行合併成一個string
3. 合併之後的結果轉成char
4. imread 吃下去這個char ,並且命名為A_matraix。
我覺得這個部分,可能可以簡化。

至此,選擇的圖片被讀進matlab。

另外,以 imwrite,寫出檔案。或是以 imshow顯示檔案。
值得注意的是,這兩個指令只吃unit8 的格式。很奇怪。

figure,imshow(uint8(pic_123(:,:,:)));
imwrite(uint8(pic_123(:,:,:)), [[training_image_path_tmp '\0729_image'] '.tif'] , 'tif' );

寫出的路徑、檔名都在 [ ] 之中,由於training_image_path_tmp,是前面指定的位置,所以寫出的檔案就會在那個路徑。

引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4865014
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

喜歡★evan111000 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:艦娘直連 / 烤餅乾 C... 後一篇:Matlab筆記 fin...

追蹤私訊切換新版閱覽

作品資料夾

ilikemousse好基友
我愛大家~~~看更多我要大聲說昨天19:47


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】