求助:画刷程序!
本人已实现读入图像,并显示出来了,请大侠指教,matlab是否能够实现一个画刷程序,其功能和windows中画图板中的刷子类似,在图像上利用这个画刷选择一个区域。
能的话怎么做啊?不胜感激
====================eight===============
更多细节请参阅以下帖子:
[原创]交互式选取图象感兴趣部分(矩形窗或任意区域)
======================================
[ 本帖最后由 eight 于 2008-4-18 17:33 编辑 ] 原帖由 cash_jh 于 2006-10-19 14:30 发表
本人已实现读入图像,并显示出来了,请大侠指教,matlab是否能够实现一个画刷程序,其功能和windows中画图板中的刷子类似,在图像上利用这个画刷选择一个区域。
能的话怎么做啊?不胜感激
like this?
求助:如何确定图片中某一区域的位置 http://forum.vibunion.com/forum/viewthread.php?tid=28070&extra=page%3D1%26filter%3Dtype%26typeid%3D24 原帖由 eight 于 2006-10-19 14:44 发表
like this?
求助:如何确定图片中某一区域的位置 http://forum.vibunion.com/forum/viewthread.php?tid=28070&extra=page%3D1%26filter%3Dtype%26typeid%3D24
我看过这个帖子,也实现了一下,但是效果是选定的区域是正正方方的,如果我想要随意弯曲连贯的选择区域,也可以实现么?如果可以,怎么实现呢?谢谢 原帖由 cash_jh 于 2006-10-19 15:11 发表
我看过这个帖子,也实现了一下,但是效果是选定的区域是正正方方的,如果我想要随意弯曲连贯的选择区域,也可以实现么?如果可以,怎么实现呢?谢谢
“随意弯曲连贯”这个比较难吧?用 ginput 吧,不过需要自己写区域的函数 转贴BG的,不知道是不是这样,没试过:
clear all
gr=imread('3603.jpg');
fn=gr;
figure
image(gr)
=ginput;
a=round(a);
b=round(b);
va=zeros(length(a)+1,1);
vb=zeros(length(a)+1,1);
va(1:length(a))=a;
va(length(va))=a(1);
vb(1:length(b))=b;
vb(length(vb))=b(1);
for i=1:3
i
g=double(fn(:,:,i));
=size(g)
for x=1:m;
for y=1:n;
in=INPOLYGON(y, x, va, vb);
if in~=1
g(x,y)=255;
end
end
end
fn(:,:,i)=g(:,:);
clear g
end
figure
image(uint8(fn))
axis image
axis off
imwrite(uint8(fn),'3603cut.jpeg') 原帖由 bainhome 于 2006-10-19 15:37 发表
转贴BG的,不知道是不是这样,没试过:
clear all
gr=imread('3603.jpg');
fn=gr;
figure
image(gr)
=ginput;
a=round(a);
b=round(b);
va=zeros(length(a)+1,1);
vb=zeros(leng ...
不错,不过速度上有待改进,三层循环,怕怕 很8错,不过怎么运行起来画线的效果是断断续续的,不连续? 赫赫,看错了!:)
页:
[1]