2013-10-24 56 views
0

我想要生成圖像名稱以便稍後在matlab代碼中進行閱讀。使用genvarname在MATLAB中使用jpg擴展生成圖像名稱

ImageName = 

    'OECA 2682_001_001' 

我已經做了以下生成名稱和讀出的圖像:我在工作空間有圖片的名稱

ext_img='*.jpg'; 
    varname = genvarname(ImageName,ext_img) 
    image = imread('varname'); 

但VARNAME快到了出來:

varname = 

    x0x27OECA2682_001_0010x27 

而不是OECA 2682_001_001.jpg。我想讀取圖像爲:

image=imread('OECA 2682_001_001.jpg'); 

如何生成圖像的名稱與jpg擴展閱讀圖像。請幫忙! 謝謝

回答

3

這不是genvarname如何工作。你想做的事:

varname = [genvarname(ImageName) '.jpg'] 

,但我不認爲你需要genvarname在所有。 It's used for making a variable name,但你並沒有像那樣使用它。

此外,代替使用

image = imread('varname'); 

image = imread(varname); 
+0

但是運行下面的命令:VARNAME = [genvarname(ImageName)名爲.jpg]時產生:VARNAME = x0x27OECA2682_001_0010x27.jpg。但不是OECA 2682_001_001.jpg。另請注意,工作場所中的ImageName以「OECA 2682_001_001」的形式存儲。即在雙冒號內。 – Dev

+0

我已經使用:C = strrep(ImageName,'''','')%%%%%%%%%%%%%%這使雙引號消失,現在C = OECA 2682_001_001但是當我使用varname = [genvarname(C)'.jpg']這使OECA2682_001_001.jpg代替OECA 2682_001_001.jpg(請注意OECA和2682_001_001之間的差距) – Dev

+1

不要使用'genvarname',你不會得到那個奇怪的後綴或空間被刪除。 – chappjc