关于imcrop和字符串、数字矩阵、符号矩阵之间的转换

1、把多幅图像放在str(1,m)(这是一个cell包)中然后可以用imcrop(str{1,m});对其中某张图进行截图吗
应该是可行的

2、matlab的gui中如何把imcrop的rect保存

我想利用imcrop(img,rect)通过在弹出的对话框里输入rect的值,(rect是个数字矩阵)实现对img的截图。但是对话框里面是一个cell,矩阵被包在‘’里成了字符串,字符串又被成了cell的一个元素,如何把我要的矩阵拿出来。里面包的然后想把那个cell拿出来,居然变成了
失败
失败,这里的rect2是一个符号矩阵
在这里插入图片描述
参考以下程序,以便了解,字符串、矩阵、符号之间的关系
clear
a=1;b=2;c=3;d=4; %产生4个数值变量
Mn=[a,b;c,d] %利用已赋值变量构成数值矩阵
Mc=’[a,b;c,d]’ %字符串中的a,b,c,d与前面输入的数值变量无关
Ms=str2sym(Mc) %Ms是一个符号矩阵,它与前面各变量无关

接下来如何把符号矩阵转换成数字矩阵呢
成功:这里的b就是数字矩阵
另外直接用
answer = inputdlg(‘裁剪的位置’,‘裁剪图像’,[1 50],{’[1 2 3 4]’});
a=str2double(answer);
是不行的。

如何改变对话框的大小可以参考
https://zhidao.baidu.com/question/2203545152844299868.html
有两种思路:
%第一种
prompt={‘请输入系数a’,‘请输入系数b’};
words=‘请输入线性拉伸函数:’;
answer = inputdlg(prompt,words,[1 50;1 30],{‘0.5’,‘2’});
a=str2double(answer(1));
b=str2double(answer(2));
%运行一下上面的代码,可以通过控制最长文本框的长度,从而间接控制是否显示标题
%第二种
prompt={‘请输入系数a’,‘请输入系数b’};
words=‘请输入线性拉伸函数:’;
options.Resize=‘on’;
options.WindowStyle=‘normal’;
options.Interpreter=‘tex’;
answer = inputdlg(prompt,words,1,{‘0.5’,‘2’},options);
a=str2double(answer(1));
b=str2double(answer(2));
%运行上面代码,设置非模态窗口,运行完后,鼠标拖动到合适大小。

3、MATLAB 符号函数转换为数值函数?/如何把符号多项式转换为数值多项式
参考https://zhidao.baidu.com/question/485463382.html?qbl=relate_question_4&word=matlab%D6%D0%D4%F5%C3%B4%B0%D1%B7%FB%BA%C5%B1%E4%B3%C9%CB%E3%CA%BD

弹出对话框里输入一个函数表达式,但是其为一string,如何将其变成函数表达式呢

answer=inputdlg({'row(行)','column(列)','z(三维图像的函数)'},'待测物构建',1,{'768','1024','real(4*sqrt(300^2-(X-500).^2-(Y-350).^2))*0.01'});
col=answer{1};
row=answer{2};
z=answer{3};

col=str2num(col);
row=str2num(row);
z=str2sym(z);
x=1:row;%参考面横向像素范围
y=1:col;%参考面纵向像素范围

%z1 = matlabFunction(z);
%z1=subs(z,{x,y},{x,y});
%z1 = str2func(['@(x,y)',vectorize(z)])
%上面注释掉的均为偏方,不可行
[X,Y]=meshgrid(x,y);%生成网格采样点的函数,进行3D图形绘制方面有着广泛的应用。
z1=eval(z);%这是核心
figure;
mesh(X,Y,z1);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值