QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 31851|回复: 50
打印 上一主题 下一主题

我用java实现的图像边缘提取(高斯拉普拉斯算子)附源码

[复制链接]
字体大小: 正常 放大

937

主题

117

听众

3万

积分

升级  0%

  • TA的每日心情

    2020-10-25 11:55
  • 签到天数: 264 天

    [LV.8]以坛为家I

    自我介绍
    内蒙古大学计算机学院

    社区QQ达人 金点子奖 助人为乐奖 风雨历程奖

    群组2013年数学建模国赛备

    跳转到指定楼层
    1#
    发表于 2013-8-1 10:44 |只看该作者 |正序浏览
    |招呼Ta 关注Ta
    图像识别.rar (6.9 KB, 下载次数: 167)
    + `8 p8 ]5 |1 w7 l8 u高斯拉普拉斯算子
    5 V1 P* e9 v; ?       利用拉普拉斯算子求卷积过程恰好是边缘提取的过程。过程保留了如上所述的两种边界。但是边缘提取过程恰好是一个将图像锐化的一个过程,图像中的噪声也会被放大,大大影响了处理后基于像素对比的效果。因此引入了高斯算子,先将图像变平滑,消除噪声,再提取边界,就会达到比较理想的效果。7 {) k( a" D$ W' F- l
    如下矩阵即为高斯拉普拉斯算子3 F  z5 f8 f: V; L
    -2   -4   -4   -4   -2
    ; a9 n$ s, H, S0 z0 D- R# v-4    0   8    0   -4/ S( h$ L8 [/ I6 j4 m0 F
    -4    8   24   8   -4
    / f- `& c" I8 T9 D% X; x-4    0   8    0   -4
    2 @6 M! C% J2 \* z9 W/ [-2   -4   -4   -4   -2
    , B1 ?: G; r4 l0 R8 V5 ]$ s4 G6 g. D
    基于高斯拉普拉斯算子边缘提取的实现! i8 X0 V) R0 k3 M% \: x2 i$ N
                      $ I- o  v& h' d7 Z0 w. j' k% X
                                                                            
    " Z# H" _! X( A        1        2        3        4        5                                3 y/ Y0 D' i( Z5 r) n: V) a( U
            6        7        8        9        10                                
    7 D& w- T8 |0 o        11        12        13        14        15                                
    + L1 r# Q% l+ k0 q) Y3 V        16        17        18        19        20                                2 c4 e) @' J4 M/ C" x# b7 P3 `
            21        22        23        24        X                                : Z5 L# V* I, M* k( s
                                                                            
    % f5 j) q+ W$ I: x1 n                                                                        
    - _2 a, O( {9 {                                                                        * u4 c( J3 a4 O$ `) O: s
                                                                            / n  Z4 ]5 e! F$ f0 W8 K9 B
    X=| (-2*1   +  -4*2   +  -4*3  +   -4*4  +  -2*5 +  
    9 K; v& L# l. `$ F5 A8 G   -4*6   +   0*7   +   8*8  +   0*9  +  -4*10+( k) x0 \% f) ^
    -4*11  +   8*12  +  24*13 +   8*14  +  -4*15+
    / s% b; A) p: \: j1 m( u-4*16  +   0*17  +   8*18 +   0*19  +  -4*207 @3 K" h' j4 J) l( J( W
    -2*21  +   -4*22  +  -4*23 +  -4*24  +  -2*X)*0.25 |% j9 O* g) o8 ~7 v; ?; _! F6 L
    公式上面矩阵中的X在处理后的值等于表中编号的数据与高斯拉普拉斯算子矩阵对位相乘之和,再乘以 0.25,再取绝对值(如上式)。如果该值大于255,则设该值为255,如果没有超过255则设置为原值。如上过程可以描述为:处理后的像素点灰度值等于它向上4行向左4列包含的25个像素点灰度值与算子求卷积的结果。这样做会发现高斯拉普拉斯算子中会有横向4行纵向4列像素点没有参与处理。如下图即为该算法处理图像效果。
    6 u5 `+ i% U, E4 N$ n7 I$ k' F clip_image002.jpg `{V]KBI(]CYZ5WDW8Z{4RVL.jpg ! O9 S9 a, V" D2 Q% _
    3 u) Z& j* z9 e7 Z6 g

    " _% u) }8 F$ F高斯拉普拉斯算子对基于像素点差异对比方法的可行性研究* X* z- x# Y! L, V2 p7 d
    LI2(84P1%L2BTR`LW%ODK]O.jpg   表73 d5 @+ T: ~4 O- O# T
    如上表 7所示,表中标号的区域的灰度值都不为零,未标号区域的灰度值都为零。现实中的图像在图片中都是以二维图像形式显示的。二维图像可以抽象为点、线、面三种形式。# }7 H) K  a5 ?. W  O; ^
    表 7 中的标号为1的区域,进行第3.1.3节中所述的处理后,它周围会有24个像素点的值由零变为非零的数值。假设与另一幅所有的像素点的灰度值都为零的图片对比,则两幅图片中的差异点个数会增多。
    $ E2 G; M1 A; X( v( e表 7中标号为 2的区域,进行第3.1.3节中所述的处理后,会与1区域的效果类似。假设与另一幅所有的像素点灰度值都为零的图片对比,则两幅图片中的差异点个数会增多。$ ~0 X( `" D# m8 C8 U" m2 K% y
    表 7 中标号为3 的区域,进行完第3.1.3节中所述的处理后,结果类似于表 8 所示,边缘的灰度值不为零,而中心的灰度值变为零。与另一幅所有的像素点灰度值都为零的图片对比,如果中心区域足够大,那么差异点个数将减少。- C, }. K! m6 e: Y. ~
    二维的图像都是由点、线、面组成。图像在处理完以后差异点数是不可预测的,所以高斯拉普拉斯算子不适用基于像素的图像差异对比方法。在图像差异对比中不使用该方法。  R8 a4 D3 t) H) a; Y' ^4 d

    : T: d1 Y! b4 v+ Y$ f6 [ {_I@Z)Q)%ODRK(_[`57TFOI.jpg 表8
    2 y2 Y9 K- ~; Z$ p

    : Q/ [& y, S  e- l( g9 P% b
    6 D. M% \! S) H' x8 h& h7 `' z0 f源码使用方法:" l) _2 ]) [% L
           把源码导入eclipse中即可,大家可以看源代码自己更改一下文件的路径,测试自己的图片。
    , x5 p+ P" ~: u1 w3 V1 F+ q$ G, P       几年前美赛出过一道图像处理题,估计今年可能会出一道吧。希望大家能用到并提前准备5 `! a7 S% D' F3 @
          
    zan
    已有 1 人评分威望 体力 能力 收起 理由
    中国好好好女人 + 50 + 999 + 10 很不错的,鼓励共享。

    总评分: 威望 + 50  体力 + 999  能力 + 10   查看全部评分

    转播转播1 分享淘帖0 分享分享3 收藏收藏4 支持支持0 反对反对0 微信微信
    fannyYang        

    0

    主题

    1

    听众

    1

    积分

    升级  20%

    该用户从未签到

    自我介绍
    android开发
    回复

    使用道具 举报

    Pppeng        

    0

    主题

    3

    听众

    26

    积分

    升级  22.11%

  • TA的每日心情
    擦汗
    2018-8-18 16:17
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    自我介绍
    我要拿国奖!
    回复

    使用道具 举报

    512771131        

    0

    主题

    1

    听众

    1

    积分

    升级  20%

    该用户从未签到

    回复

    使用道具 举报

    0

    主题

    2

    听众

    2

    积分

    升级  40%

    该用户从未签到

    自我介绍
    wu
    回复

    使用道具 举报

    0

    主题

    3

    听众

    1

    积分

    升级  20%

    该用户从未签到

    自我介绍
    有一分热,发一分光
    谢谢楼主的分享,好东西啊,值得慢慢去学习。以后一定多多跟你请教  D* k0 U% v, U3 @* L
    回复

    使用道具 举报

    pigzee69        

    0

    主题

    9

    听众

    2

    积分

    升级  40%

    该用户从未签到

    自我介绍
    wu
    回复

    使用道具 举报

    pigzee69        

    0

    主题

    9

    听众

    2

    积分

    升级  40%

    该用户从未签到

    自我介绍
    wu
    回复

    使用道具 举报

    pigzee69        

    0

    主题

    9

    听众

    2

    积分

    升级  40%

    该用户从未签到

    自我介绍
    wu
    回复

    使用道具 举报

    pigzee        

    0

    主题

    9

    听众

    2

    积分

    升级  40%

    该用户从未签到

    自我介绍
    wu
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-8-25 09:36 , Processed in 0.656099 second(s), 113 queries .

    回顶部