Problem with the im2uint16
2 次查看(过去 30 天)
显示 更早的评论
I need to create a series of mean images. So I created the following code
function [meanbgimage] = impostprocbg(bgpath)
%Calculates the mean backgroung image
cd(bgpath)
bglist=dir('*.tif');
I0 = imread(bglist(1).name);
sumbgImage = im2double(I0); % Inialize to first image.
k=1;
for i=2:length(bglist) % Read in remaining images
nameused = bglist(i).name;
img = imread(nameused);
% Image = imcomplement(Image);
img=im2double(img);
% img=wiener2(img);
sumbgImage = im2double(imadd(sumbgImage,img));
clear img
if mod(i,100)==0
meanbgimage(:,:,k) = imdivide(sumbgImage,100);
j = meanbgimage(:,:,k);
j = im2uint16(j);
meanbgimage(:,:,k) = j;
sumbgImage = zeros(512,512);
k=k+1;
end
i
end;
The problem is that I need meanbgimage to be an array of uint16 2D arrays. However, this code returns meanbgimage as a double. Does anybody knows what should I do?
0 个评论
采纳的回答
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!