模式识别,图片边缘检测matlab代码

clc
clear all
close all
A = imread('D:\2.jpg');  %读入图像
imshow(A);
title('原图');
y_mask = [-1 -1 -1;0 0 0;1 1 1];  %建立Y方向的模板
x_mask = y_mask';  %建立X方向的模板
I = im2double(A);   %将图像数据转化为双精度
dx = imfilter(I, x_mask);  %计算X方向的梯度分量
dy = imfilter(I, y_mask);  %计算Y方向的梯度分量
grad = sqrt(dx.*dx + dy.*dy);  %计算梯度
grad = mat2gray(grad);   %将梯度矩阵转换为灰度图像
level = graythresh(grad);  %计算灰度阈值
BW = im2bw(grad,level);  %用阈值分割梯度图像
figure, imshow(BW);  %显示分割后的图像即边缘图像
title('边缘检测后')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值