三个愿望 发表于 2007-5-14 19:21

菜鸟提问,如何把对话框输入的内容与图像平移的数值连系起来

题目可能说得不是很清楚,我再详细地说一下,我做图像平移的时候,平移量,x,y,都是在m-file中固定的,这样总是感觉很呆板,不灵活,就想用对话框实现,我是想请问怎么样把从对话框中输入的数值赋给x,y,各位高人帮忙啊,在线等答案

eight 发表于 2007-5-14 19:58

原帖由 三个愿望 于 2007-5-14 19:21 发表 http://www.chinavib.com/forum/images/common/back.gif
题目可能说得不是很清楚,我再详细地说一下,我做图像平移的时候,平移量,x,y,都是在m-file中固定的,这样总是感觉很呆板,不灵活,就想用对话框实现,我是想请问怎么样把从对话框中输入的数值赋给x,y,各位高 ...


建议看看关于 GUI 的精华贴

三个愿望 发表于 2007-5-14 20:43

我去看了看精华帖子,没找到关于这方面的
huright 说设置两个变量dx,dy写个简单的方程就可以了
我还是没明白,我是刚接触matlab,我从电子书上看到好像用对话框输入的数据保存在细胞数组cell中,不晓得怎么读出来,高手帮忙啊,说得详细一点,这是我的代码
function t=pingyi(p,x,y)
%图像平移
A=imread('greens.jpg');
subplot(211);imshow(A);
title('源图像');
=size(A);
%不放大画幕平移
prompt={'输入一个数值:'};
dlg_title='横向平移量';
num_lines=1;
def={'20'};
answer=inputdlg(prompt,dlg_title,num_lines,def);
prompt={'输入一个数值:'};
dlg_title='纵向平移量';
num_lines=1;
def={'20'};
answer=inputdlg(prompt,dlg_title,num_lines,def);
fori=1+y:h
    for j=1+x:w
      B(i,j)=A(i-y,j-x);
    end
end
B=uint8(B);
subplot(212);imshow(B);
title('不放大画幕平移结果');

运行的时候,读入图片也可以,读入横向平移,纵向平移数据都可以,就是不晓得怎么联系起来

再次感谢各位大虾

eight 发表于 2007-5-15 15:30

你确定看了这个帖子:[原创]关于GUI的一点心得体会 ?
页: [1]
查看完整版本: 菜鸟提问,如何把对话框输入的内容与图像平移的数值连系起来