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