南北左右 发表于 2011-9-27 16:05:42

图片处理:明明使用了imagesc ,怎么不出图片呢

本帖最后由 南北左右 于 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);
=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)


% removebackground
ui_h3=msgbox('Calibration please choose a file','Notice');
uiwait(ui_h3);
=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, )
    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);

alexqxp 发表于 2011-9-27 17:06:11

怎么个不出图?是白一片黑一片,还是窗口不弹出来?如果是显示问题的话,将换成数据的最大最小值试试。
另外常见一个可能问题是数据类型的问题。或者换下显示函数,比如
imshow

南北左右 发表于 2011-9-27 21:52:35

本帖最后由 南北左右 于 2011-9-27 21:53 编辑

alexqxp 发表于 2011-9-27 17:06 http://forum.simwe.com/static/image/common/back.gif
怎么个不出图?是白一片黑一片,还是窗口不弹出来?如果是显示问题的话,将换成数据的最大最小值试 ...

是完全不出图片,用imshow的话出现了图,但是全部是黑的,同时也出现错误;修改的值 也还是每天图片。。请问知道怎么改正吗?

alexqxp 发表于 2011-9-27 22:23:11

你把显示数据变换到0和1之间再用imshow显示试试。
估计减法运算后出现了负值,无法显示。
页: [1]
查看完整版本: 图片处理:明明使用了imagesc ,怎么不出图片呢