由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
EE版 - 正在做图像处理的GUI.在图像A里加一条线,可以移动,每次移动更新图像B
相关主题
GUI里打开.fig文件用imagesc显示图像哪位推荐一个做雷达图像处理比较好的教授
A matlab question做图像处理的怎么样?
Re: 审稿问题,请过来人指点问一个图像处理/边缘检测的问题 (转载)
IC or IP? 读个硕士可否增加keep employed的可能性?
医学图像处理算是生物类的,还是EE的?求助: 有人用Analyze的程序包做图像处理的吗? (转载)
真诚求教请大家推荐图像处理方面比较好的学校我也来聊聊医学图像处理
新手请教各位学长图像专业的选校[合集] 我也来聊聊医学图像处理
帮忙选个老师吧Communications and Signal Processing 就业形势如何?
相关话题的讨论汇总
话题: 图像话题: 移动话题: gui话题: hold话题: 更新
进入EE版参与讨论
1 (共1页)
m******u
发帖数: 153
1
正在做图像处理的GUI.在图像A里加一条线,可以移动,每次移动更新图像B
我现在用Matlab实现,这条可以移动的线有一个handle,所以当butt
onpress的事件被抓获后,Matlab 就调用相应的程序来更新图像B。
现在问题是Matlab实现太慢。
我的鼠标移动了2-3个来回,都放在别的地方了,这条线才慢慢的来回挪动(这是图
像B在即时更新),整个迟4-5秒,如果我移动鼠标过快的话。感觉非常不爽。
我把这条线的"queue"设成"cancel",就是程序太忙得时候,就不用响
应鼠标移动了,看来不是这么回事。。??
请问改用什么软件来实现这个功能可以快一些?
网上搜索了一下,免费的有Java, QT,现在VC也免费了。
我碰过Java和VC十来天。如果想实现这个功能,该用哪个函数?我好直接去查函
数去。
多谢。
c*u
发帖数: 916
2
我用MATLAB GUI干同样的事情很快啊,感觉不出任何迟滞,可能你的程序有问题,贴上
来看看,不过我的图B只有700*700 pixel, 在GUI上只有1/2屏幕大。如果你的是2000*
2000,那我就不知道了,
关键的问题是更新图像B和线的时候不可以用image()或者plot(),而是只更新数据,如
果你有什么hold on, 那就更糟糕了,
如果你那个程序本身很慢,那你就让那程序只在button_up的时候运行,

【在 m******u 的大作中提到】
: 正在做图像处理的GUI.在图像A里加一条线,可以移动,每次移动更新图像B
: 我现在用Matlab实现,这条可以移动的线有一个handle,所以当butt
: onpress的事件被抓获后,Matlab 就调用相应的程序来更新图像B。
: 现在问题是Matlab实现太慢。
: 我的鼠标移动了2-3个来回,都放在别的地方了,这条线才慢慢的来回挪动(这是图
: 像B在即时更新),整个迟4-5秒,如果我移动鼠标过快的话。感觉非常不爽。
: 我把这条线的"queue"设成"cancel",就是程序太忙得时候,就不用响
: 应鼠标移动了,看来不是这么回事。。??
: 请问改用什么软件来实现这个功能可以快一些?
: 网上搜索了一下,免费的有Java, QT,现在VC也免费了。

m******u
发帖数: 153
3
我是直接update CData的。但是我用了hold on.因为图B要显示一张图像和一条线,所
以必须用hold on.
这种情况下怎么办呢?多谢。

【在 c*u 的大作中提到】
: 我用MATLAB GUI干同样的事情很快啊,感觉不出任何迟滞,可能你的程序有问题,贴上
: 来看看,不过我的图B只有700*700 pixel, 在GUI上只有1/2屏幕大。如果你的是2000*
: 2000,那我就不知道了,
: 关键的问题是更新图像B和线的时候不可以用image()或者plot(),而是只更新数据,如
: 果你有什么hold on, 那就更糟糕了,
: 如果你那个程序本身很慢,那你就让那程序只在button_up的时候运行,

c*u
发帖数: 916
4
这个很简单,没有人强迫你用hold on,
1。画线不一定要用plot(),如果你用 line(),那么就不会冲掉原来的东西。
2。如果你坚持要用plot(),(虽然没有任何理由这么做),那么至少你知道对应hold
on, 有一个hold off,在合适的地方加入hold off,或者手动把前一个图像删除掉。关
键是你不要用hold on产生好几个重叠的图像,要不然所有这些图像堵在显存里,想不
慢也不可能了,

【在 m******u 的大作中提到】
: 我是直接update CData的。但是我用了hold on.因为图B要显示一张图像和一条线,所
: 以必须用hold on.
: 这种情况下怎么办呢?多谢。

m******u
发帖数: 153
5
谢谢。
我取消了hold on, plot,用line。
还是一样的慢,有迟滞现象。
我以前用hold on,在axes B上也只始终画两个objects,一个是图像,一个是一条线。
然后每次用set data来更新图像和线。
没有用hold on产生好几个重叠的图像。觉得hold on不是关键。
发信人: cxu (Salmon Fish), 信区: EE
标 题: Re: 正在做图像处理的GUI.在图像A里加一条线,可以移动,每次
发信站: BBS 未名空间站 (Tue Jul 22 09:35:32 2008)
这个很简单,没有人强迫你用hold on,
1。画线不一定要用plot(),如果你用 line(),那么就不会冲掉原来的东西。
2。如果你坚持要用plot(),(虽然没有任何理由这么做),那么至少你知道对应hold
on, 有一个hold off,在合适的地方加入hold off,或者手动把前一个图像删除掉。关
键是你不要用hold on产生好几个重叠的图像,要不然所有这些图像堵在显存里,想不
慢也不可能了,

【在 m******u 的大作中提到】
: 我是直接update CData的。但是我用了hold on.因为图B要显示一张图像和一条线,所
: 以必须用hold on.
: 这种情况下怎么办呢?多谢。

c*u
发帖数: 916
6
把code 贴上来,除非你的处理程序本身很慢, 要不然不可能因为画一个图和一条线而变
得很慢的.

【在 m******u 的大作中提到】
: 谢谢。
: 我取消了hold on, plot,用line。
: 还是一样的慢,有迟滞现象。
: 我以前用hold on,在axes B上也只始终画两个objects,一个是图像,一个是一条线。
: 然后每次用set data来更新图像和线。
: 没有用hold on产生好几个重叠的图像。觉得hold on不是关键。
: 发信人: cxu (Salmon Fish), 信区: EE
: 标 题: Re: 正在做图像处理的GUI.在图像A里加一条线,可以移动,每次
: 发信站: BBS 未名空间站 (Tue Jul 22 09:35:32 2008)
: 这个很简单,没有人强迫你用hold on,

m******u
发帖数: 153
7
我用profile找到原因了。
我用了一句多余的axes(h)。这句就浪费了很多时间。
多谢多谢探讨。

【在 c*u 的大作中提到】
: 把code 贴上来,除非你的处理程序本身很慢, 要不然不可能因为画一个图和一条线而变
: 得很慢的.

c*u
发帖数: 916
8
axes(h)本身并不浪费时间, 调用axes(h)的时候,系统默认对原来的axes调用drawnow
,把显存flush出去,可能是那个drawnow花了很多时间,所以恐怕你的问题还是没有解
决掉。

【在 m******u 的大作中提到】
: 我用profile找到原因了。
: 我用了一句多余的axes(h)。这句就浪费了很多时间。
: 多谢多谢探讨。

1 (共1页)
进入EE版参与讨论
相关主题
Communications and Signal Processing 就业形势如何?医学图像处理算是生物类的,还是EE的?
谁能推荐几本图像处理的教材真诚求教请大家推荐图像处理方面比较好的学校
怎样把图像数字化? (转载)新手请教各位学长图像专业的选校
问一个图像处理的问题帮忙选个老师吧
GUI里打开.fig文件用imagesc显示图像哪位推荐一个做雷达图像处理比较好的教授
A matlab question做图像处理的怎么样?
Re: 审稿问题,请过来人指点问一个图像处理/边缘检测的问题 (转载)
IC or IP? 读个硕士可否增加keep employed的可能性?
相关话题的讨论汇总
话题: 图像话题: 移动话题: gui话题: hold话题: 更新