图像边缘提取——梯度算子、Roberts算子、prewitt算子、Sobel算子、Kirsch算子、LOG算子的matlab实现
#图像边缘提取——
##梯度算子、Roberts算子、prewitt算子、Sobel算子、Kirsch算子、LOG算子的matlab实现
matlab代码
clear;
f=rgb2gray(imread('edge2017.jpg'));
T=20;%阈值
[m,n]=size(f);
%------梯度法-------
f_g=zeros(m,n);
for i=2:m-1for j=2:n-1f_g(i,j)=abs(f(i+1,j)-f(i,j))+abs(f(i,j+1)-f(i,j));if f_g(i,j)<Tf_g(i,j)=0;elsef_g(i,j)=255;endend
end
figure(1);
subplot(2,3,1);imshow(uint8(f_g));title('梯度法');%------roberts算子-------
f_r=zeros(m,n);
for i=2:m-1for j=2:n-1f_r(i,j)=abs(f(i+1,j+1)-f(i,j))+abs(f(i,j+1)-f(i+1,j));if f_r(i,j)<Tf_r(i,j)=0;elsef_r(i,j)=255;endend
end
%f_r=imbinarize(imfilter(f,r),T);
subplot(2,3,2);imshow(uint8(f_r));title('Roberts算子');%------prewitt算子-------
f_p=zeros(m,n);
for i=2:m-1for j=2:n-1f_p(i,j)=abs(f(i-1,j-1)+f(i,j-1)+f(i+1,j-1)-f(i-1,j+1)-f(i,j+1)-f(i+1,j+1))+abs(f(i+1,j-1)+f(i+1,j)+f(i+1,j+1)-f(i-1,j-1)-f(i-1,j)-f(i-1,j+1));if f_p(i,j)<15f_p(i,j)=0;elsef_p(i,j)=255;endend
end
subplot(2,3,3);imshow(uint8(f_p));title('Prewitt算子');%------sobel算子-------
f_s=zeros(m,n);
for i=2:m-1for j=2:n-1f_s(i,j)=abs(f(i-1,j-1)+2*f(i,j-1)+f(i+1,j-1)-f(i-1,j+1)-2*f(i,j+1)-f(i+1,j+1))+abs(f(i+1,j-1)+2*f(i+1,j)+f(i+1,j+1)-f(i-1,j-1)-2*f(i-1,j)-f(i-1,j+1));if f_s(i,j)<Tf_s(i,j)=0;elsef_s(i,j)=255;endend
end
subplot(2,3,4);imshow(uint8(f_s));title('Sobel算子');%------krisch算子-------
k(:,:,1)=[-3,-3,-3;-3,0,5;-3,5,5];
k(:,:,2)=[-3,-3,5;-3,0,5;-3,-3,5];
k(:,:,3)=[-3,5,5;-3,0,5;-3,-3,-3];
k(:,:,4)=[-3,-3,-3;-3,0,-3;5,5,5];
k(:,:,5)=[5,5,5;-3,0,-3;-3,-3,-3];
k(:,:,6)=[-3,-3,-3;5,0,-3;5,5,-3];
k(:,:,7)=[5,-3,-3;5,0,-3;5,-3,-3];
k(:,:,8)=[5,5,-3;5,0,-3;-3,-3,-3];
kk=zeros(size(f));
I=double(f);
for i=1:8f_k(:,:,i)=conv2(I,k(:,:,i),'same');kk=max(kk,f_k(:,:,i));
end
f_kk=imbinarize(kk,600);
subplot(2,3,5);imshow(f_kk);title('Krisch算子');%------LoG算子-------
log1=[0 0 -1 0 0;0 -1 -2 -1 0;-1 -2 16 -2 -1;0 -1 -2 -1 0;0 0 -1 0 0];f_l=conv2(f,log1,'same');
f_ll=imbinarize(abs(f_l),300);
subplot(2,3,6);imshow(f_ll);title('LoG算子');
效果
图像边缘提取——梯度算子、Roberts算子、prewitt算子、Sobel算子、Kirsch算子、LOG算子的matlab实现相关推荐
- 【图像处理】——Python图像分割边缘检测算法之一阶梯度算子(Roberts、Prewitt、Sobel、 Kirsch、Canny算子)
目录 前言 一.边缘检测算法 1.一阶算子 2.二阶算子 二.一阶算子 原图像lena 1.Roberts算子 不同方向的算子模板 梯度的计算 系统代码: 自定义函数代码 结果 2.Prewitt 不 ...
- Roberts、Prewitt、Sobel、Laplacian、LoG 和 Canny 边缘检测算子(MATLAB自写函数实现)
文章目录 Roberts.Prewitt.Sobel.Laplacian.LoG 和 Canny 边缘检测算子(MATLAB自写函数实现) 1理论 1.1 知识引入 1.1.1 图像边缘边缘[1] 1 ...
- 梯度与Roberts、Prewitt、Sobel、Lapacian算子
一.学习心得: 学习图像处理的过程中,刚开始遇到图像梯度和一些算子的概念,这两者到底是什么关系,又有什么不同,一直困扰着我.后来在看到图像分割这一模块后才恍然大悟,其实图像的梯度可以用一阶导数和二阶偏 ...
- Python图像锐化及边缘检测(Roberts、Prewitt、Sobel、Lapllacian、Canny、LOG)
目录 图像锐化概述 算法方法介绍 代码实现 效果展示 图像锐化概述 图像锐化(image sharpening)是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,分为空间域处理和频域处 ...
- 梯度与边缘检测常用算子:Roberts、Prewitt、Sobel、LOG,Canny、Lapacian算子
原文:https://blog.csdn.net/swj110119/article/details/51777422 原文:https://blog.csdn.net/gdut2015go/arti ...
- 卷积核——Roberts、Prewitt、Sobel、Lapacian、DoG、LoG算子
文章目录 一.算子推导过程 1.1 梯度和Roberts算子: 1.2 Prewitt: 1.3 Sobel算子 1.4 Lapacian算子: 二.图像特征复杂算子 高斯拉普拉斯算子(LoG,Lap ...
- [Python图像处理] 四十二.Python图像锐化及边缘检测万字详解(Roberts、Prewitt、Sobel、Laplacian、Canny、LOG)
该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...
- 【计算机视觉】图像分割与特征提取——基于Roberts、Prewitt、Sobel算子的图像分割实验
个人简介: >
- 图像处理 | 最常用的边缘检测详解与代码(Robert, Sober, Prewitt, Canny, Kirsch, Laplacian, LOG, DOG算子)
边缘检测 一阶 Roberts Cross 罗伯茨交叉算子 Sobel 索贝尔算子 Prewitt 普利维特算子 Canny 算子 Kirsch 算子 二阶 Laplacian 拉普拉斯算子 LoG ...
最新文章
- 半平面交比较好的博客
- Visual Studio 2015软件安装教程
- 单体应用架构——垂直应用架构———分布式架构———SOA架构———微服务架构
- [vue] v-if和v-for的优先级是什么?如果这两个同时出现时,那应该怎么优化才能得到更好的性能?
- 矩阵特征值的用matlab,[急求]谁可以用matlab帮我运行求矩阵特征值的命令???...
- clientmacaddr进不去系统win10_教你一分钟搞定戴尔电脑WIN10改WIN7
- 苹果AirPods 2预计将于3月25日发布 3月29日正式开卖
- c语言求e近似值精度在10e6,中石油2013秋季学期《C语言》补考在线适用于2014年4月...
- ftp ---- 本地用户登录(实例配置1:)
- autotools工具介绍
- feign调用接口返回html,Spring Cloud Feign接口返回流
- 【费用预测】基于matlab粒子群算法优化ELM神经网络预测费用【含Matlab源码 1378期】
- MATLAB 如何将视频和音频写入同一个文件?以视频上下颠倒为例,附带详细注释
- c语言 pause,C语言中的pause()函数和alarm()函数以及sleep()函数
- 作业调度算法--高响应比优先
- 关于“Windows Script Host...”错误
- matlab画出拟合的曲线,matlab画出拟合曲线
- 无向图、深度优先搜索(无向图)、广度优先搜索(无向图)、无向图路径查找(基于深度优先搜索)
- C++实战笔记(一):矩阵类
- RHCSA之基本命令_统计文件内容篇(wc)