|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
图像边缘检测算法体验步骤
0 v+ j% z6 t8 K1 G: S
, Y3 l5 r5 c. E' b: u! Z3 b1. 确定你的电脑上已经安装了Photoshop和Matlab+ X0 e D7 @. x1 S3 f. ]7 h2 c, a+ E* C
2. 使用手机或其他任何方式,获得一张彩色图像(任何格式),建议图像颜色丰富,分辨率比较高,具有比较明显的图像边界(卡通图像,风景图像,桌面图像)
1 Z5 Q6 C8 d9 E. o. H3 x0 R3. 将图像保存到一个能够找到的目录中,例如img文件夹(路径上没有汉字)
6 o# l9 A0 M* o* j4. 启动Photoshop,打开img文件夹中的图像
$ `" A& m" E% V. E9 U5. 在工具箱中选择“矩形选择”工具,到图面上选择一个区域(如果分辨率比较高,建议不要太大,否则计算过程比较长)
3 Z0 M, g/ M/ ]7 ]5 }4 g2 n/ ?6. 点击下拉菜单【文件】-【新建】,新建一个与矩形选择框同样尺寸的Photoshop图像,不要求保存该图像* V1 }" d5 s5 \+ |
7. 将该彩色图像转换为亮度图像,即点击下拉菜单【图像】-【模式】-【灰度】,如提示是否合并,选择“Yes”" m/ A; z$ L- e0 \6 y% f
8. 将该单色的亮度图像另存为Windows的BMP文件,点击下拉菜单【文件】-【存储为】,在“存储为”窗口中,为该文件起一个名字,例如test1(保存为test1.bmp)
* T/ G" z; n) b* S) h# \9. 启动Matlab,将当期路径(Current Directory)定位到图像文件夹,例如这里的img文件夹# q+ u2 s2 Z: C* f; L) f; f9 V
10. 使用imread命令读入该图像,在命令行输入:>> f = imread('test1.bmp');: w& M2 S* X! I0 `5 C
11. 在Matlab中显示该图像,在命令行输入:>> figure, imshow(f), j0 U! a& J" T6 [7 J
12. 然后,分别使用Matlab图像工具箱中的Edge函数,分别使用Sobel算法,高斯-拉普拉斯(Log)算法和Canny算法得到的边缘图像:
5 G; ^; l' M3 Q* \" U5 b. s 在命令行输入:>> g_sobel = edge(f, 'sobel', 0.05);$ q/ B" _7 \& Z9 U3 m
>> g_log = edge(f, 'log', 0.003, 2.25);8 L3 o; R; v) b, Z
>> g_canny = edge(f, 'canny', [0.04 0.10], 1.5);9 Y1 }+ w3 P: m& B
13 得到边缘图像计算结果后,显示这些边缘图像:
1 E% A) o: ^8 d3 J! B$ x2 C4 }8 a >> figure, imshow(g_sobel)4 ~; X9 p0 r; j' a: F: `0 A
>> figure, imshow(g_log)) y2 v- }8 k" d1 z/ O
>> figure, imshow(g_canny). e% E9 ~1 |- d, Z) f2 |
0 U$ E) t7 C" d$ k- Q( A: }' G14 可以用不同的图像做对比,后续课程解释算法后,可以变换不同的阈值,得到不同的边缘图像
3 i7 u D9 K+ P4 P/ Q( A
7 ?* l& g. }8 V) e1 j |
|