【发布时间】:2014-07-01 17:47:08
【问题描述】:
我正在将位于文件夹中的 .jpg 文件加载到工作区并稍后对它们执行一些操作。但是,在某些文件上,我收到有关损坏的 JPEG 文件的警告。我不需要对这些文件进行肉眼检查,但是,它们应该被排除在流程之外。因此,我需要能够确定给定图像是否以上述方式损坏。
虽然 imread 会抛出这样的警告,但它没有提供标志。我想用一个函数,类似这种方式。
这里是示例代码
path=dir('*.jpg');
for i=1:length(dir)
image=imread(dir(i,1).name);
flag=iscorrupt(MException.last);
if (not(flag))
...
end
end
function out=iscorrupt(exception)
exception.message, out=isempty(strfind(exception.message,'corrupt'));
但是,此部分代码无法实现目的,因为它依赖于最后一个异常。因此,在抛出损坏警告后,它将始终设置 True 标志。我想知道,是否可以使用上述方法获取所需的知识。
【问题讨论】:
标签: image matlab image-processing exception-handling jpeg