我在获取一系列图像背景的最大值和最小值时遇到了麻烦。我制作了此函数,该函数通过将所有像素值相加然后除以像素总数来计算平均值:
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张图像)。取得均值效果很好,但我无法解决最大和最小值的问题。任何帮助将非常感激。
答案 0 :(得分:0)
您可以使用下面的代码来获取最小和最大背景。在这里,我要做的是,分别获取每个图像的r,g,b值,然后获取它们的最小值和最大值,然后将它们组合起来以生成最大值和最小值背景。
希望这会有所帮助:)
祝您有美好的一天。
谢谢
@echo off
cls
setlocal EnableDelayedExpansion
set "cmd=findstr /R /N "^^" example_data.csv | find /C ":""
for /f %%a in ('!cmd!') do set number=%%a
powershell -Command "(gc experiment_base.xml) -replace '<steppedValueSet variable=\"n_runs\" first=\"1\" step=\"1\" last=\"1\"/>', '<steppedValueSet variable=\"n_runs\" first=\"1\" step=\"1\" last=\"%number%\"/>' | Set-Content mod_experiments.xml
echo "Running experiment..."
netlogo-headless.bat ^
--model dynamic_behaviorspace.nlogo ^
--setup-file mod_experiments.xml ^
--table table-output.csv
答案 1 :(得分: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
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
这就是我将使用您的代码进行操作的方式。