游戏开发论坛

 找回密码
 立即注册
搜索
查看: 8791|回复: 7

关于滤镜遮罩概念,Sobel 遮罩

[复制链接]

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2007-4-17 10:18:00 | 显示全部楼层 |阅读模式
原文地址:
http://www.azure.com.cn/article.asp?id=328

如有转载,请注明:
http://www.azure.com.cn/

滤镜技法(filtering)是指将输入的值通过滤镜加工,创建输出值的技法。图象处理中的滤镜常使用遮罩矩阵技法,遮罩主要使用3x3, 5x5, 16x16的乘法矩阵。遮罩的使用方法如下。

[ a1   a2   a3 ]
[ a4   a5   a6 ]   遮罩矩阵
[ a7   a8   a9 ]

[ p1   p2   p3 ]
[ p4   p5   p6 ]  输入矩阵
[ p7   p8   p9 ]

[ X     X     X  ]
[ X     M     X  ]  输出矩阵
[ X     X     X  ]

(M = a1*p1 + a2*p2 + a3*p3 + ... + a9*p9 )

即遮罩矩阵的各矩阵元素与输入像素值相乘,然后将这些值相加创建出最终的输出像素值。为了求出最终的像素值M,输入像素p5周围的像素p1 到 p9 都包括在运算中。 当然这是 3 X 3 的 MAX矩阵。要想知道MAX的正确的数学原理就需要微积分知识,在这里就不再做深入的介绍了。

下面我们来看例子,
因为
[ 0  0  0 ]
[ 0  0  0 ]
[ 0  0  0 ]
遮罩的输入像素值都变为0, 所以输出的像素值也都为0。

[ 0  0  0 ]
[ 0  1  0 ]
[ 0  0  0 ]
遮罩将原本像素直接转移到输出像素中,中间不发生任何变化。

但下面的函数具有特殊的作用:

sobel 遮罩:
x方向
[ -1  0  1 ]
[ -2  0  2 ]
[ -1  0  1 ]

y方向
[ 1  2  1 ]
[ 0  0  0 ]
[ -1 -2 -1]

Sobel遮罩是边缘处理滤镜最具代表性的例子.



www.azure.com.cn

10

主题

84

帖子

84

积分

注册会员

Rank: 2

积分
84
发表于 2007-4-17 12:49:00 | 显示全部楼层

Re:关于滤镜遮罩概念,Sobel 遮罩

ding

23

主题

94

帖子

94

积分

注册会员

Rank: 2

积分
94
发表于 2007-4-17 17:01:00 | 显示全部楼层

Re: 关于滤镜遮罩概念,Sobel 遮罩

Devil: 关于滤镜遮罩概念,Sobel 遮罩

原文地址:
[url=http://www.azure.com.cn/article.asp?id=328]http://www.azure.com.cn/article.asp?id=32...


请问高手,这东西怎么用directx来实现啊?貌似不搭边啊,纯图像学的东西。

10

主题

219

帖子

236

积分

中级会员

Rank: 3Rank: 3

积分
236
QQ
发表于 2007-4-17 18:22:00 | 显示全部楼层

Re:关于滤镜遮罩概念,Sobel 遮罩

Sobel边缘处理原理是寻找图像中变换比较剧烈的像素位置,采用卷积来实现,文中提到的遮罩矩阵也就是卷积核

5

主题

26

帖子

57

积分

注册会员

Rank: 2

积分
57
发表于 2007-4-19 11:52:00 | 显示全部楼层

Re: Re: 关于滤镜遮罩概念,Sobel 遮罩

cactusnb: Re: 关于滤镜遮罩概念,Sobel 遮罩



请问高手,这东西怎么用directx来实现啊?貌似不搭边啊,纯图像学的东西。

怎么会不搭边呢? 这明明用到了像素着色器。

10

主题

84

帖子

84

积分

注册会员

Rank: 2

积分
84
发表于 2007-4-20 13:08:00 | 显示全部楼层

Re:关于滤镜遮罩概念,Sobel 遮罩

hao

23

主题

94

帖子

94

积分

注册会员

Rank: 2

积分
94
发表于 2007-4-23 10:23:00 | 显示全部楼层

Re: Re: Re: 关于滤镜遮罩概念,Sobel 遮罩

ayuest: Re: Re: 关于滤镜遮罩概念,Sobel 遮罩


怎么会不搭边呢? 这明明用到了像素着色器。


哦... 我一直把卷积运算等当作纯数字图像处理的内容,以为只能用cpu来进行。
你能详细说说怎么用directX来实现吗?
贴一段代码看看?
谢谢了

0

主题

14

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2007-4-23 11:31:00 | 显示全部楼层

Re:关于滤镜遮罩概念,Sobel 遮罩

貌似楼上的意思是想在整个directx中怎么实现,这里是用direct3D中的像素着色器,需要看direct3d中的内容。看整体介绍directx的入门书,一般还介绍不到像素着色器,或者比较简单。需要看介绍direct3d的书,呵呵,我也初学者,也就看到这。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 17:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表