|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
图像边缘检测算法体验步骤% ~! g8 W' [7 N9 O2 H
& |0 @7 m7 W2 u) H1. 确定你的电脑上已经安装了Photoshop和Matlab+ E v- f) u5 j) e$ w! m
2. 使用手机或其他任何方式,获得一张彩色图像(任何格式),建议图像颜色丰富,分辨率比较高,具有比较明显的图像边界(卡通图像,风景图像,桌面图像)/ P) u1 _1 F+ Z! W$ K7 s6 [/ Z- L9 [
3. 将图像保存到一个能够找到的目录中,例如img文件夹(路径上没有汉字)
, o- k$ |3 M0 P4 [% F; J( c" h4. 启动Photoshop,打开img文件夹中的图像' B# L5 Q7 J2 S3 S% f, f- N
5. 在工具箱中选择“矩形选择”工具,到图面上选择一个区域(如果分辨率比较高,建议不要太大,否则计算过程比较长)
6 ^) Z( c& z' k' r/ Z6. 点击下拉菜单【文件】-【新建】,新建一个与矩形选择框同样尺寸的Photoshop图像,不要求保存该图像
: [) s$ @* B/ i. M- J* {% P7. 将该彩色图像转换为亮度图像,即点击下拉菜单【图像】-【模式】-【灰度】,如提示是否合并,选择“Yes”& L5 h1 d8 T( d" _ M
8. 将该单色的亮度图像另存为Windows的BMP文件,点击下拉菜单【文件】-【存储为】,在“存储为”窗口中,为该文件起一个名字,例如test1(保存为test1.bmp)
- O. l* x h' K: p" F8 r& v9. 启动Matlab,将当期路径(Current Directory)定位到图像文件夹,例如这里的img文件夹. S0 ]( @7 S, I7 T
10. 使用imread命令读入该图像,在命令行输入:>> f = imread('test1.bmp');
. |" M! I& m( C! U11. 在Matlab中显示该图像,在命令行输入:>> figure, imshow(f)6 z. P4 |' h4 P+ b* Y4 c; Z
12. 然后,分别使用Matlab图像工具箱中的Edge函数,分别使用Sobel算法,高斯-拉普拉斯(Log)算法和Canny算法得到的边缘图像:" S3 S1 x6 B2 s6 d7 D6 o. c
在命令行输入:>> g_sobel = edge(f, 'sobel', 0.05);
1 C. [" a5 ~( ] >> g_log = edge(f, 'log', 0.003, 2.25);
: v" h; w4 X2 K+ k >> g_canny = edge(f, 'canny', [0.04 0.10], 1.5);5 |4 ~7 e# d/ d' g8 D" M
13 得到边缘图像计算结果后,显示这些边缘图像:: q2 e8 `, a0 m6 C H5 \
>> figure, imshow(g_sobel)$ q/ r4 u+ e3 D6 y! u( D: O" a
>> figure, imshow(g_log)
4 v8 R+ m1 a z. b8 V >> figure, imshow(g_canny)
# l2 W4 Q- Y1 g. z1 U. {$ b: i4 {$ H3 M# c
14 可以用不同的图像做对比,后续课程解释算法后,可以变换不同的阈值,得到不同的边缘图像
8 ^2 D: \0 ?2 p# T
( [' a! _$ m3 B' T) K |
|