【图像处理】边缘检测(Roberts、Prewitt、Sobel、Marr-Hildreth 和 Canny 边缘检测器)和图像分割(Otsu 方法)(matlab实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

Otsu方法是一种常用的图像分割技术,旨在将图像分成具有统计学意义的不同区域。该方法基于图像的灰度直方图,通过寻找一个阈值来将图像分成两个类别,使得类别内的方差最小化或方差之和最大化。这个阈值可以将图像中的前景和背景等不同区域有效地分开。Otsu方法适用于许多图像分割应用,包括目标检测、图像分析和模式识别等领域。

📚2 运行结果

主函数部分代码:

clc; clear;
%% Read the original image
fig_original = remap_image(double(imread('data/building.tif')));
imwrite(fig_original, 'data/building.png');
figure('Name', 'Original image');
imshow(fig_original, []);

%% Roberts edge detector
figure('Name', 'Roberts edge detector');
gx = [-1 0;0 1];
gy = [0 -1;1 0];
subplot(1, 3, 1);
edge_x = remap_image(abs(filter2(gx, fig_original)));
imshow(edge_x, []);
imwrite(edge_x, 'data/roberts_x.png');
subplot(1, 3, 2);
edge_y = remap_image(abs(filter2(gy, fig_original)));
imshow(edge_y, []);
imwrite(edge_y, 'data/roberts_y.png');
subplot(1, 3, 3);
imshow(remap_image(edge_x + edge_y), []);
imwrite(remap_image(edge_x + edge_y), 'data/roberts_xy.png');

%% Prewitt edge detector
figure('Name', 'Prewitt edge detector');
gx = [-1 -1 -1;0 0 0;1 1 1];
gy = [-1 0 1;-1 0 1;-1 0 1];
subplot(1, 3, 1);
edge_x = remap_image(abs(filter2(gx, fig_original)));
imshow(edge_x, []);
imwrite(edge_x, 'data/prewitt_x.png');
subplot(1, 3, 2);
edge_y = remap_image(abs(filter2(gy, fig_original)));
imshow(edge_y, []);
imwrite(edge_y, 'data/prewitt_y.png');
subplot(1, 3, 3);
imshow(remap_image(edge_x + edge_y), []);
imwrite(remap_image(edge_x + edge_y), 'data/prewitt_xy.png');

%% Sobel edge detector
figure('Name', 'Prewitt edge detector');
gx = [-1 -2 -1;0 0 0;1 2 1];
gy = [-1 0 1;-2 0 2;-1 0 1];

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[[1]王非凡,陈希爱,任卫红等.基于图像自适应增强的低照度目标检测算法[J/OL].计算机工程:1-13[2024-03-11].https://doi.org/10.19678/j.issn.1000-3428.0068407.

🌈4 Matlab代码实现

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值