|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
图像边缘检测算法体验步骤
: l6 t* Z! {( ~& O
# m; _5 a K- F! Q4 G( {' q, k1. 确定你的电脑上已经安装了Photoshop和Matlab
- @ R1 V" P3 y! e( b2. 使用手机或其他任何方式,获得一张彩色图像(任何格式),建议图像颜色丰富,分辨率比较高,具有比较明显的图像边界(卡通图像,风景图像,桌面图像)
3 a' x* c2 B, Q' q3 ^3. 将图像保存到一个能够找到的目录中,例如img文件夹(路径上没有汉字); o$ @: Q3 J, m1 ?/ `# {
4. 启动Photoshop,打开img文件夹中的图像
4 C9 s' l" _% d8 J5. 在工具箱中选择“矩形选择”工具,到图面上选择一个区域(如果分辨率比较高,建议不要太大,否则计算过程比较长): D B+ L! x, d* d+ S# {1 N
6. 点击下拉菜单【文件】-【新建】,新建一个与矩形选择框同样尺寸的Photoshop图像,不要求保存该图像( N; ~% y, W- R* O
7. 将该彩色图像转换为亮度图像,即点击下拉菜单【图像】-【模式】-【灰度】,如提示是否合并,选择“Yes”
. A1 [. G8 D; l- a6 d9 Z& g& M" V8. 将该单色的亮度图像另存为Windows的BMP文件,点击下拉菜单【文件】-【存储为】,在“存储为”窗口中,为该文件起一个名字,例如test1(保存为test1.bmp)
, z$ ^- N; u3 F+ b9. 启动Matlab,将当期路径(Current Directory)定位到图像文件夹,例如这里的img文件夹. B/ _% M% e7 N, R6 h: {, [
10. 使用imread命令读入该图像,在命令行输入:>> f = imread('test1.bmp');
7 s; ?$ D# G/ _% N3 K11. 在Matlab中显示该图像,在命令行输入:>> figure, imshow(f)2 I3 b5 _; W$ z/ j" t2 p" i
12. 然后,分别使用Matlab图像工具箱中的Edge函数,分别使用Sobel算法,高斯-拉普拉斯(Log)算法和Canny算法得到的边缘图像:9 N0 k7 O' g6 j+ g1 v
在命令行输入:>> g_sobel = edge(f, 'sobel', 0.05);
( {* O/ G4 D( Y/ G' f2 N6 O! k >> g_log = edge(f, 'log', 0.003, 2.25);# Q l: ^! f% z# t6 r
>> g_canny = edge(f, 'canny', [0.04 0.10], 1.5);
U3 `4 t/ A1 f0 l9 v+ e5 d13 得到边缘图像计算结果后,显示这些边缘图像:* d( k1 c) |2 F5 m3 u0 l
>> figure, imshow(g_sobel)
! h& Q, F, t B+ u1 X0 ` >> figure, imshow(g_log)
: V; l3 q# v5 `& K' n >> figure, imshow(g_canny)
4 ]( W$ m& k4 s$ p
+ x& K' r, P0 ?& f7 `! ~14 可以用不同的图像做对比,后续课程解释算法后,可以变换不同的阈值,得到不同的边缘图像
/ t* I% t. P+ L) C
x) ~* e7 T5 p2 O |
|