EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
图像边缘检测算法体验步骤(Photoshop,Matlab)
% J3 B, p' p% V0 k$ R. S! P9 m9 P2 f1 w# K% D: r
5 M( p6 ^ @5 Z2 f
0 k& |, a8 w- G9 `4 `
1. 确定你的电脑上已经安装了Photoshop和Matlab' x, U: G: C! o$ X" C
2. 使用手机或其他任何方式,获得一张彩色图像(任何格式),建议图像颜色丰富,分辨率比较高,具有比较明显的图像边界(卡通图像,风景图像,桌面图像)
2 }5 L+ C3 P; a( w8 ?+ ]" G3. 将图像保存到一个能够找到的目录中,例如img文件夹(路径上没有汉字)1 E4 ]/ @) c, c
4. 启动Photoshop,打开img文件夹中的图像
+ o6 Q5 g, [: T5. 在工具箱中选择“矩形选择”工具,到图面上选择一个区域(如果分辨率比较高,建议不要太大,否则计算过程比较长)0 [& x. Q! M! J. [% f0 a6 D3 r" H
6. 点击下拉菜单【文件】-【新建】,新建一个与矩形选择框同样尺寸的Photoshop图像,不要求保存该图像6 t# f3 P( _' r8 F- S
7. 将该彩色图像转换为亮度图像,即点击下拉菜单【图像】-【模式】-【灰度】,如提示是否合并,选择“Yes”
2 \2 f& |% Q3 d/ T: k8. 将该单色的亮度图像另存为Windows的BMP文件,点击下拉菜单【文件】-【存储为】,在“存储为”窗口中,为该文件起一个名字,例如test1(保存为test1.bmp)
! a3 u9 @! I3 o9 R3 h9. 启动Matlab,将当期路径(Current Directory)定位到图像文件夹,例如这里的img文件夹
" i/ d- M8 ?; \10. 使用imread命令读入该图像,在命令行输入:>> f = imread('test1.bmp');$ E3 I( B* m2 |
11. 在Matlab中显示该图像,在命令行输入:>> figure, imshow(f)
# Q y# f3 C% P# B$ ]12. 然后,分别使用Matlab图像工具箱中的Edge函数,分别使用Sobel算法,高斯-拉普拉斯(Log)算法和Canny算法得到的边缘图像:
( E7 Q" J8 ?* O! L8 Q 在命令行输入:>> g_sobel = edge(f, 'sobel', 0.05);
4 S1 o" K$ t$ s( v8 n >> g_log = edge(f, 'log', 0.003, 2.25);
/ u2 A( [, Z) B* v, q. ]: ` >> g_canny = edge(f, 'canny', [0.04 0.10], 1.5); $ Z! x' W+ z1 b* R2 I- u6 |, w
13 得到边缘图像计算结果后,显示这些边缘图像:* a& P& m I* H5 z9 }: Q
>> figure, imshow(g_sobel)
% v0 z! b. }5 J' F7 \+ v. s: S >> figure, imshow(g_log)
4 ^6 g; \" k+ ?9 d. W+ V+ v >> figure, imshow(g_canny)9 y/ z% {) D5 k1 f+ C' D+ G' `- J' K+ i! t
( X) u9 s2 O- g" j7 s
14 可以用不同的图像做对比,后续课程解释算法后,可以变换不同的阈值,得到不同的边缘图像 | 2 W$ E6 ~8 A- v" J
|