|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
图像边缘检测算法体验步骤# J! A0 q3 `) `6 f
. g( M& G2 `* X7 s8 J0 {1 W1. 确定你的电脑上已经安装了Photoshop和Matlab
. r$ W2 v1 j' {$ |% Z2. 使用手机或其他任何方式,获得一张彩色图像(任何格式),建议图像颜色丰富,分辨率比较高,具有比较明显的图像边界(卡通图像,风景图像,桌面图像)8 k/ O5 M& G( F! D( D$ }3 d6 n+ E
3. 将图像保存到一个能够找到的目录中,例如img文件夹(路径上没有汉字)
/ V, M0 L0 V5 H% Q" F# C8 B4. 启动Photoshop,打开img文件夹中的图像
6 M1 Y$ D) x, q5 l5. 在工具箱中选择“矩形选择”工具,到图面上选择一个区域(如果分辨率比较高,建议不要太大,否则计算过程比较长)6 M5 b0 [" f- t7 _6 n' s0 ^
6. 点击下拉菜单【文件】-【新建】,新建一个与矩形选择框同样尺寸的Photoshop图像,不要求保存该图像. [5 E" y: [; G Q6 Z8 `
7. 将该彩色图像转换为亮度图像,即点击下拉菜单【图像】-【模式】-【灰度】,如提示是否合并,选择“Yes”
* C/ F+ z; L/ p, {; l8. 将该单色的亮度图像另存为Windows的BMP文件,点击下拉菜单【文件】-【存储为】,在“存储为”窗口中,为该文件起一个名字,例如test1(保存为test1.bmp)
9 T" O$ ~1 I8 d9. 启动Matlab,将当期路径(Current Directory)定位到图像文件夹,例如这里的img文件夹8 p9 ~' w& S! N
10. 使用imread命令读入该图像,在命令行输入:>> f = imread('test1.bmp');6 K6 \1 }/ Q# B, S: @8 Y% v
11. 在Matlab中显示该图像,在命令行输入:>> figure, imshow(f)
5 y% @ t( D: B) U( N12. 然后,分别使用Matlab图像工具箱中的Edge函数,分别使用Sobel算法,高斯-拉普拉斯(Log)算法和Canny算法得到的边缘图像:
1 C$ r: d# j, T2 Y 在命令行输入:>> g_sobel = edge(f, 'sobel', 0.05);
* G( }7 f! q6 x6 R) y) }+ ?2 d' n- \' F >> g_log = edge(f, 'log', 0.003, 2.25);
( ]3 i( z& P3 I >> g_canny = edge(f, 'canny', [0.04 0.10], 1.5);
" d6 G% m8 \* M- S8 R/ G: p& d1 q2 X13 得到边缘图像计算结果后,显示这些边缘图像:
/ e$ u8 I4 ~8 h9 y# C0 N >> figure, imshow(g_sobel)
6 C9 o1 m$ x: Y5 Z4 w >> figure, imshow(g_log)
: [, }5 y4 t9 z >> figure, imshow(g_canny)
, a/ z0 K: P6 i$ f9 r
4 Z6 ]" f ?6 z/ W6 _4 i* D14 可以用不同的图像做对比,后续课程解释算法后,可以变换不同的阈值,得到不同的边缘图像7 P! \! T8 F! X9 b; h
& O) x: L, ^1 A. Z% Y |
|