matlab - (MATLAB)如何获得一系列图像的最大和最小背景?
问题描述
我在如何获取一系列图像的背景的最大值和最小值方面遇到了麻烦。我制作了这个函数,它通过将所有像素值相加然后除以像素总数来计算平均值:
function [Ifondo] = promedioImgs(pathImages)
fn = sprintf('%s*.jpeg',pathImages);
indexImages = dir(fn);
numImages=length(indexImages);
Ifondo=0;
for i=1:numImages
fn = sprintf('%s%s',pathImages,indexImages(i).name);
primera=imread(fn);
primera=double(primera);
if(i==1)
Ifondo=double(primera);
else
Ifondo=Ifondo+primera;
end
end
Ifondo=uint8(round(Ifondo/numImages));
end
在这个函数中 Ifondo 是我要获取的背景图片(文件夹包含 100 张图片)。获得平均值效果很好,但我无法解决如何为最大值和最小值做这件事。任何帮助将非常感激。
解决方案
快速尝试回答您的图像处理问题。关于您要查找的内容的注意事项。图像堆栈中的最大值应该是整个堆栈中的最大值。最小值是堆栈中的最小值。因此,通过在加载图片时进行比较寻找最小或最大的图片,最终应该会生成您正在寻找的图片。
for i=1:numImages
fn = sprintf('%s%s',pathImages,indexImages(i).name);
primera=imread(fn);
primera=double(primera);
if(i==1)
Ifondo=double(primera);
else
IDX = Ifondo < primera; % Finding larger values from next loaded img
Ifondo(IDX) = primera(IDX); % pixels found larger in primera, overlap those same pixels in Ifondo
end
end
这就是我使用您的代码的方式。
推荐阅读
- python-3.x - 将数据框 -1 中的列值替换为 0
- java - 在 Android 应用程序的改造实现中访问 kotlin 类自动生成的 getter 方法
- typescript - typescript 官方文档中的交集类型示例不起作用
- javascript - 使用空单元格对表格进行排序
- php - Laravel Eloquent wherePivot 方法返回未找到列“pivot”
- java - IntelliJ(或其他免费 IDE/工具)是否有可能缩进整个项目(仅缩进不格式化))
- pdf - PDF 可以有用户密码而没有所有者密码吗?
- excel - 使用文件资源管理器在宏文件中打开文件,在用户文件中运行宏
- google-apps-script - Google Scripts/Mail 中的日期格式 - 找不到方法错误
- release - 当 Dev 有一个不应部署到 prod 的新次要版本时,如何将补丁语义发布到 QA 上的版本?