簡體   English   中英

MATLAB中批量圖像的格式轉換

[英]Format conversion of batch image in MATLAB

對於從 jpg 到 bmp 的批量圖像轉換,我處理了以下代碼,但它面臨一些錯誤:

f=dir('./input')
fil={f.name};
for k=1:numel(fil)
file=fil{k};
new_file=strrep(file,'.jpg','.bmp');
im=imread(file);
imwrite(im,new_file);
end

錯誤:

使用 imread>get_full_filename 時出錯(第 513 行)

不能打開文件 ”。” 用於閱讀。 您可能沒有讀取權限。

imread 錯誤(第 340 行)

fullname = get_full_filename(filename);

format_conversion 錯誤(第 6 行)

im = imread(文件);

問題出在哪兒?

你的問題是. ..文件夾中的條目,丹尼爾正確地指出了評論中的解決方案。

但是,由於您使用

new_file=strrep(file,'.jpg','.bmp');

在您的代碼中,您似乎只想轉換擴展名為.jpg文件(不是.jpeg.JPG.JPEG )。 如果目錄中有.txt文件或其他任何內容,您上面的代碼也會遇到問題。 幸運的是,MATLAB 的dir函數允許使用通配符,因此解決方案可能很簡單:

f=dir('./input/*.jpg')

當然,稍后您將不得不再次添加文件夾:

im=imread(fullfile('input', file));
imwrite(im,fullfile('input',new_file));

比使用固定的'input'更靈活的方法是使用f.folder ,請參閱dir文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM