S.A.M 发表于 2009-10-7 22:10

用getrect交互取出了图片感兴趣区域,如何调用?

用getrect交互取出了图片感兴趣区域,如何调用?如题
我用getrect指令在图上面画出一个感兴趣区域
在Command Window中我得到了

ans =
213.3193292.2783187.5277159.1518

现在我想对这个感兴趣区域进行平均滤波,如何操作呢?

我的平均滤波的程序是:
c=
c=c/9
C=conv2(B,c);

弄了半天都没弄出来。。。望大虾们赐教~:hug:

ChaChing 发表于 2009-10-8 00:17

回复 楼主 S.A.M 的帖子

试试
load clown; imagesc(X); colormap(gray)
rr=getrect(gcf);
B=X(round(rr(2)):round(rr(2)+rr(4)),round(rr(1)):round(rr(1)+rr(3)));
figure; imagesc(B); colormap(gray)
...
c=; c=c/9; C=conv2(B,c);

S.A.M 发表于 2009-10-9 22:00

回复 沙发 ChaChing 的帖子

嗯,谢谢,试了一下
但这个好像是把区域截图出来,单独显示
想要的是把选定的区域进行处理,并就在当前的图像上出来
有什么好的经验吗?呵呵

ChaChing 发表于 2009-10-9 22:51

回复 板凳 S.A.M 的帖子

图像处理这块个人门外汉, 仅感觉好玩试试, 针对选定的区域进行处理, 不是一样吗
load clown; imagesc(X); colormap(gray); rr=getrect(gcf);
rows=round(rr(2)):round(rr(2)+rr(4)); cols=round(rr(1)):round(rr(1)+rr(3));
B=X(rows,cols);
...%% 针对B进行处理
X(rows,cols)=B;
clf; imagesc(X); colormap(gray)

S.A.M 发表于 2009-10-10 20:40

回复 地板 ChaChing 的帖子

谢谢~有效果,不过现在还是没法在我的程序中调好
我的程序目的是做一个GUI,能导入图片,对图片进行手动选择区域滤波
现在用您给的代码已经可以在导入的图片上显示选择框,不过还是没法处理出来
你方便的话能看一看么?非常感谢!

[ 本帖最后由 ChaChing 于 2009-10-14 20:35 编辑 ]

S.A.M 发表于 2009-10-11 18:50

回复 地板 ChaChing 的帖子

嗯,我已经解决啦
谢谢啦~

ChaChing 发表于 2009-10-11 22:11

这方面不顶熟, 未能给LZ及时帮忙!
但可以的话, 还是建议LZ与大家分享你的成果, 做个结束!

[ 本帖最后由 ChaChing 于 2009-10-14 20:37 编辑 ]

wangwei2019 发表于 2009-10-12 19:57

我很想学习 谢谢!!!!!!!!

S.A.M 发表于 2009-10-14 18:54

回复 9楼 ChaChing 的帖子

嗯,相互间的调用我用了全局变量和handles都做出来了
1:用全局变量:在主程序和回调程序前都要注明有“global A;”之后用G = A(rows, cols)即可;
2:用handles的话,需要定义明确:

定义时:
handles.L=A;
guidata(hObject,handles);

调用时:
% --- Executes on button press in pushbutton13.jiaquan-2
function pushbutton13_Callback(hObject, eventdata, handles)
hold on;
rr=getrect(gcf);
rows=round(rr(2)):round(rr(2)+rr(4));
cols=round(rr(1)):round(rr(1)+rr(3));
e=;
e=e/16;
G=handles.L(rows,cols);
M(rows,cols)=G;
M=conv2(G,e);

ChaChing 发表于 2009-10-14 21:36

回复 9楼 S.A.M 的帖子

怎感觉未全解决!?:@)
1.如若选取范围在图像外, 要出错!
2.滤波后PushButton不见 ...

[ 本帖最后由 ChaChing 于 2009-10-14 22:05 编辑 ]
页: [1]
查看完整版本: 用getrect交互取出了图片感兴趣区域,如何调用?