怎么实现象photoshop里魔棒功能

lyislm 2002-04-05 01:08:49
小弟要实现一个不但photoshop里魔棒功能的程序,而且可以统计一些区域的大小,数目。
但不知从何下手。小弟先行谢过了

...全文
183 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuxq 2002-05-07
  • 打赏
  • 举报
回复
采用种子填充算法,简单的种子填充算法和扫描线种子填充算法。
简单:
void flood_fill_4(int x, int y, int color, int fw)
{
int cr = GetPixel(x, y);
if (cr > color - fw && cr < color + fw)
{
flood_fill_4(x, y - 1, color, fw);
flood_fill_4(x - 1, y, color, fw);
flood_fill_4(x, y + 1, color, fw);
flood_fill_4(x + 1, y, color, fw);
}
}
gamedragon 2002-05-06
  • 打赏
  • 举报
回复
卷积是信号处理里面的
ququshb 2002-05-06
  • 打赏
  • 举报
回复
alpha channel 还知道点点了哦

Leon8086(故乡的云)
你说的卷积是什么东东。偶怎么没学过哦。拿来干什么的哦。偶没学过图象处理


gamedragon 2002-05-01
  • 打赏
  • 举报
回复
Leon8086(故乡的云)
老兄你理解错了我的说法了,我们俩说的mask不是一回事,你所说的是卷积模板。我所说的mask是alpha channel。
caiyunhe21 2002-04-30
  • 打赏
  • 举报
回复
leon8086说的邻域搜索是怎么回事啊?能和我说说吗?我的QQ号是85311575小弟先谢过了,如果需要可以有报酬的
ququshb 2002-04-30
  • 打赏
  • 举报
回复
mask是怎么会事??
Leon8086 2002-04-30
  • 打赏
  • 举报
回复
gamedragon的说法不全面。
Mask是一个模版,一般用来进行卷积计算。
比如一个3*3的模版(mask)
111
121
111
其中的1和2代表该点像素的权值。
这样利用卷积计算出来的中间那点的颜色就是∑(各点颜色*权值)/(权值之和)。
mask在图像处理中很常用。
楼主的那个问题,我认为ququshb(忘求了)的说法是可行的。
“从选中的那点颜色开始,向四周扩散,颜色和选中那点相差太远的话就认为是边界”
至于相差多少,是可以控制的,就像photoshop中魔棒的羽化值一样。

具体的算法可能要用到队列。队尾的点出列,然后判断相邻的点的颜色值是不是可以认为在边界以内(就是说跟选中的点的颜色差别在允许范围内),如果是的话就将他们入列(已经进入过队列的点除外),重复这样的操作,直到队列中没有点为止,那些曾经进入队列的像素就是所选择的范围。
gamedragon 2002-04-30
  • 打赏
  • 举报
回复
mask就是个位图,但是上面每一点记录的不是象素颜色,而是代表对应位图上这个点是否被选中。
比如一个mask(0代表选中,1代表未选中)
1111
1001
1001
1111
就是说中间的一个正方形被选中,操作仅限于被选中的部分。
ququshb 2002-04-29
  • 打赏
  • 举报
回复
2 gamedragon(gamedragon)
这个好象就是找边界吧?从选中的那点颜色开始,向四周扩散,颜色和选中那点相差太远的话就认为是边界了啊,这样就可以了吧??
caiyunhe21 2002-04-29
  • 打赏
  • 举报
回复
你可以试着用采色工具查看象素的大小,在来定义魔术棒的范围啊~~~~
我是这么想的~~~不知道行不行,你可以试一试的……
Leon8086 2002-04-29
  • 打赏
  • 举报
回复
Sorry,纠正错误,gamedragon邻域搜索的说法好像是正确的。
Leon8086 2002-04-29
  • 打赏
  • 举报
回复
应该是边缘检测吧?
有Sobel和Kirsch等算法。
gamedragon 2002-04-05
  • 打赏
  • 举报
回复
魔棒好像就是个邻域搜索,判断周围的点颜色是否近似。
我看Photoshop的选择区实际就是个Mask,不是靠记录边界点来搞的。
ququshb 2002-04-05
  • 打赏
  • 举报
回复
参考一下找边界的算法哦

1,450

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 图象工具使用
社区管理员
  • 图象工具使用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧