- 积分
- 0
- 注册时间
- 2011-8-25
- 仿真币
-
- 最后登录
- 1970-1-1
|
本帖最后由 南北左右 于 2011-9-27 16:07 编辑
这个程序前一部分是求一组图片的像素平均值,后一部分是以此作为背景,去除掉,使用imagesc 但是不出图
close all; clear all; clc;
% calibration base
ui_h3=msgbox('Calibration Base : Please choose a file','Notice');
uiwait(ui_h3);
[fname,pname,filterindex]=uigetfile({'*.bmp;*.tif';'image files(*.bmp,*.tif)';'*.*';'all file'},'Select calibration images','MultiSelect','on');
if pname==0;
error('Please choose a file');
end
if iscell(fname)
fname=sort(fname);
img_num=length(fname);
else
t_n=fname;
fname=cell(1,1);
fname{1,1}=t_n;
img_num=1;
end
BASE=zeros(1024, 1280);
total_coord=[];
total_ref_vec=cell(img_num,1);
h=waitbar(0,'please waite');
for k=1:img_num
fullpath{1,1}=fullfile(pname,char(fname(k)));
orig=imread(fullpath{1,1});
orig=double(orig);
BASE=BASE+orig;
end
CalBase=BASE/img_num;
close(h)
% remove background
ui_h3=msgbox('Calibration please choose a file','Notice');
uiwait(ui_h3);
[fname,pname,filterindex]=uigetfile({'*.bmp;*.tif';'image files(*.bmp,*.tif)';'*.*';'all file'},'Select calibration images','MultiSelect','on');
if pname==0;
error('please choose a file');
end
if iscell(fname)
fname=sort(fname);
img_num=length(fname);
else
t_n=fname;
fname=cell(1,1);
fname{1,1}=t_n;
img_num=1;
end
total_coord=[];
total_ref_vec=cell(img_num,1);
h=waitbar(0,'please waite');
for k=1:img_num
fullpath{1,1}=fullfile(pname,char(fname(k)));
orig=imread(fullpath{1,1});
orig=double(orig);
modi=orig./CalBase;
modi2=uint8(modi);
figure
imagesc(modi2, [0, 10])
colormap(jet)
clim = get(gca, 'clim');
levels = 10;
target = grayslice(modi2, linspace(clim(1), clim(2), levels));
map = jet(levels);
imwrite(target, map, ['#' char(fname(k))])
close
end
close(h); |
|