|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
图像边缘检测算法体验步骤3 h6 n9 L3 t6 S
V+ B3 D6 Z( z. t5 p( @
1. 确定你的电脑上已经安装了Photoshop和Matlab7 C& Z, e7 y# E! l
2. 使用手机或其他任何方式,获得一张彩色图像(任何格式),建议图像颜色丰富,分辨率比较高,具有比较明显的图像边界(卡通图像,风景图像,桌面图像). f8 T$ T6 F5 }, R4 g( `! r
3. 将图像保存到一个能够找到的目录中,例如img文件夹(路径上没有汉字)1 \% c4 G) k# i9 S% ]
4. 启动Photoshop,打开img文件夹中的图像
1 f2 R% f3 O( \; U& C% D5. 在工具箱中选择“矩形选择”工具,到图面上选择一个区域(如果分辨率比较高,建议不要太大,否则计算过程比较长). ?$ m5 d( }) E/ K3 W: P" \1 y
6. 点击下拉菜单【文件】-【新建】,新建一个与矩形选择框同样尺寸的Photoshop图像,不要求保存该图像
{' A1 K- V% B& m. k8 P# P# |7. 将该彩色图像转换为亮度图像,即点击下拉菜单【图像】-【模式】-【灰度】,如提示是否合并,选择“Yes”8 F A; b7 w& Y
8. 将该单色的亮度图像另存为Windows的BMP文件,点击下拉菜单【文件】-【存储为】,在“存储为”窗口中,为该文件起一个名字,例如test1(保存为test1.bmp)
" z3 t) j+ C# E" \8 j+ }: u9. 启动Matlab,将当期路径(Current Directory)定位到图像文件夹,例如这里的img文件夹
6 H7 r5 L( F! z9 _10. 使用imread命令读入该图像,在命令行输入:>> f = imread('test1.bmp');" ?9 Z" ~, K* `5 V, L& E4 b
11. 在Matlab中显示该图像,在命令行输入:>> figure, imshow(f)
% ], T# r2 ?% U1 C7 z$ g" s2 h12. 然后,分别使用Matlab图像工具箱中的Edge函数,分别使用Sobel算法,高斯-拉普拉斯(Log)算法和Canny算法得到的边缘图像:/ [6 L2 x. z, y" h/ ^% G2 }7 d
在命令行输入:>> g_sobel = edge(f, 'sobel', 0.05);
" r" x- S$ b7 o% Z1 D0 F4 t0 P8 C >> g_log = edge(f, 'log', 0.003, 2.25);4 k# y& a7 m/ v: g
>> g_canny = edge(f, 'canny', [0.04 0.10], 1.5);
! f9 I& z: W, c3 k" \9 M3 D13 得到边缘图像计算结果后,显示这些边缘图像:
. i* l4 Z8 B8 X- k h) v >> figure, imshow(g_sobel)# ~4 G& S; O; @/ S2 C( ]0 J
>> figure, imshow(g_log)
8 y% G. A0 {& } >> figure, imshow(g_canny)# S/ G: R1 ?9 ?# i
0 E. i2 C3 U, N4 l, z$ A$ f5 T
14 可以用不同的图像做对比,后续课程解释算法后,可以变换不同的阈值,得到不同的边缘图像$ c9 @0 p2 r' I0 O9 a1 v; G
9 t* h* W% ?9 G8 J, \: J! y
|
|