|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
图像边缘检测算法体验步骤# v+ Y7 x" z4 U1 c8 N0 q, f
1 L8 w' O. V7 W R* `2 G
1. 确定你的电脑上已经安装了Photoshop和Matlab" N" _) Y( |6 c8 D
2. 使用手机或其他任何方式,获得一张彩色图像(任何格式),建议图像颜色丰富,分辨率比较高,具有比较明显的图像边界(卡通图像,风景图像,桌面图像)
$ m4 W7 g" F& g2 S$ p3. 将图像保存到一个能够找到的目录中,例如img文件夹(路径上没有汉字)" I. {% G/ M! K5 s0 d4 E
4. 启动Photoshop,打开img文件夹中的图像: T/ S V. `" G3 P, i, t8 D2 B2 t
5. 在工具箱中选择“矩形选择”工具,到图面上选择一个区域(如果分辨率比较高,建议不要太大,否则计算过程比较长)- C" ~# c! a6 [, T8 s
6. 点击下拉菜单【文件】-【新建】,新建一个与矩形选择框同样尺寸的Photoshop图像,不要求保存该图像
: A+ i7 P: Q: H- I" Q* C) Z' j7. 将该彩色图像转换为亮度图像,即点击下拉菜单【图像】-【模式】-【灰度】,如提示是否合并,选择“Yes”
( s: x, Q8 r8 B. B: C$ h8. 将该单色的亮度图像另存为Windows的BMP文件,点击下拉菜单【文件】-【存储为】,在“存储为”窗口中,为该文件起一个名字,例如test1(保存为test1.bmp)
1 Q( C9 l* R" j' S! Z9. 启动Matlab,将当期路径(Current Directory)定位到图像文件夹,例如这里的img文件夹
& p. P1 ]. F) s) {10. 使用imread命令读入该图像,在命令行输入:>> f = imread('test1.bmp');; M/ @! P" C4 A2 {9 L! E
11. 在Matlab中显示该图像,在命令行输入:>> figure, imshow(f)8 ?/ u" }' M* T; |& n
12. 然后,分别使用Matlab图像工具箱中的Edge函数,分别使用Sobel算法,高斯-拉普拉斯(Log)算法和Canny算法得到的边缘图像:3 z5 B+ j z- a0 O9 t+ J
在命令行输入:>> g_sobel = edge(f, 'sobel', 0.05);4 d' v- S# L) ? w, c
>> g_log = edge(f, 'log', 0.003, 2.25);0 o6 m" g+ M$ O6 F/ ?. I
>> g_canny = edge(f, 'canny', [0.04 0.10], 1.5);
' Y2 Z5 A& g4 Y3 F* L13 得到边缘图像计算结果后,显示这些边缘图像:
: j+ ]) x# v7 m4 R' b: M" x# L >> figure, imshow(g_sobel)9 Z" b" d1 ^* F: d* b3 v
>> figure, imshow(g_log)- `2 f$ a' ~0 h1 B) ^( f
>> figure, imshow(g_canny)
2 [* J! ?6 ?0 {+ ^0 Y8 J
# ~* p S9 ~" k/ Q14 可以用不同的图像做对比,后续课程解释算法后,可以变换不同的阈值,得到不同的边缘图像$ C; M, t. Q4 G' X w
8 Y$ M1 j5 [+ m) S; h& X+ p- B |
|