|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
图像边缘检测算法体验步骤6 H) p3 J2 G9 l
! I2 v \1 z% y" c {- H# m$ K0 }1. 确定你的电脑上已经安装了Photoshop和Matlab
* ^: ^9 @: U7 ?0 p1 L) g. M% f( E o2. 使用手机或其他任何方式,获得一张彩色图像(任何格式),建议图像颜色丰富,分辨率比较高,具有比较明显的图像边界(卡通图像,风景图像,桌面图像): @& F- C' p' [7 ?& J, x6 u
3. 将图像保存到一个能够找到的目录中,例如img文件夹(路径上没有汉字)
- k( Q {8 ]* F4. 启动Photoshop,打开img文件夹中的图像
- X- w9 e( y n1 c! z% X5. 在工具箱中选择“矩形选择”工具,到图面上选择一个区域(如果分辨率比较高,建议不要太大,否则计算过程比较长)
% e2 U/ K3 J. _% O/ x" L6. 点击下拉菜单【文件】-【新建】,新建一个与矩形选择框同样尺寸的Photoshop图像,不要求保存该图像
8 p7 y+ Z+ ~- O1 f8 T4 Y7. 将该彩色图像转换为亮度图像,即点击下拉菜单【图像】-【模式】-【灰度】,如提示是否合并,选择“Yes”
# M2 |0 A9 f& t/ V6 Y8. 将该单色的亮度图像另存为Windows的BMP文件,点击下拉菜单【文件】-【存储为】,在“存储为”窗口中,为该文件起一个名字,例如test1(保存为test1.bmp)% D+ K$ F1 x" F. G" Q- s
9. 启动Matlab,将当期路径(Current Directory)定位到图像文件夹,例如这里的img文件夹' O4 l# f V* d2 x- D- K- R8 ^- l
10. 使用imread命令读入该图像,在命令行输入:>> f = imread('test1.bmp');, Y9 @3 a7 R6 g7 n5 v2 k6 g
11. 在Matlab中显示该图像,在命令行输入:>> figure, imshow(f)
4 C2 _7 F& @# x% O+ q12. 然后,分别使用Matlab图像工具箱中的Edge函数,分别使用Sobel算法,高斯-拉普拉斯(Log)算法和Canny算法得到的边缘图像:
* @* Z$ y7 }. D$ f1 m/ T 在命令行输入:>> g_sobel = edge(f, 'sobel', 0.05);) W# v1 Z' g8 k( @9 N
>> g_log = edge(f, 'log', 0.003, 2.25);" w4 z; V- T( A: B! q
>> g_canny = edge(f, 'canny', [0.04 0.10], 1.5);
+ j: a0 T# u' C+ x' j% `8 B13 得到边缘图像计算结果后,显示这些边缘图像:
$ f. F# o$ H% K2 k >> figure, imshow(g_sobel)
! S* u) \; s5 k: B+ ]0 a >> figure, imshow(g_log)" I1 L4 c, x6 A! n7 c
>> figure, imshow(g_canny)2 D0 ]% I1 J) z
& t; ?% [8 k3 X/ ?9 Z: p14 可以用不同的图像做对比,后续课程解释算法后,可以变换不同的阈值,得到不同的边缘图像' S# O3 |# n" L( n
& [# }* b) F& B9 `! T0 x |
|