数字图像处理-图像的形态学处理(2)

1 实验一

1.1 实验题目

读入一幅图像,用函数 bwmorph 进行图像的细化和提取骨架操作,并输出显示其结果。

1.2 程序源代码

Matlab 复制代码
clc;
close all;
clear all;
I = imread('xihua.jpg');
I=rgb2gray(I);%图像灰度化
figure;imshow(I)
title('原始图像','FontSize',14)
%骨架化二值图像:为了使原始图像适合于骨架化,对图像进行反转,以使对象变亮而背景变暗。 然后,将结果图像二值化。
Icomplement = imcomplement(I);
BW = imbinarize(Icomplement);
figure;imshow(BW)
title('二值图像','FontSize',14)
%骨架提取
bw_skel=bwmorph(BW,'skel',Inf); %二值图像的骨架化
figure;imshow(bw_skel)
title('骨架提取图像','FontSize',14)
%细化
result2 = bwmorph(BW,'thin',Inf);
figure;
imshow(result2)
title('细化后的图像','FontSize',14)

1.3 运行结果

2 实验二

2.1 实验题目

使用顶帽变换对图像纠正阴影,并进行图像分割。

2.2 程序源代码

Matlab 复制代码
% 使用顶帽变换
clc
clear
f=imread('yinying.jpg');
subplot(221),imshow(f);
title('原始图像');
se=strel('disk',20);%产生结构元素
%顶帽变换是指原始图像减去其开运算的图像
%而开运算可用于补偿不均匀的背景亮度,所以用一个大的结构元素做开运算后
%然后用原图像减去这个开运算,就得到了背景均衡的图像,这也叫做是图像的顶帽运算
f1=imtophat(f,se);%使用顶帽变换
subplot(222),imshow(f1);
title('使用顶帽变换后的图像');
%图像分割(二值分割)
thresh = graythresh(f1);%自动确定二值化阈值
f2 = im2bw(f1,thresh);%对图像二值化
subplot(223),imshow(f2);
title('进行图像分割后的结果');

2.3 运行结果

相关推荐
Sagittarius_A*2 小时前
特征检测:SIFT 与 SURF(尺度不变 / 加速稳健特征)【计算机视觉】
图像处理·人工智能·python·opencv·计算机视觉·surf·sift
水中加点糖7 小时前
小白都能看懂的——车牌检测与识别(最新版YOLO26快速入门)
人工智能·yolo·目标检测·计算机视觉·ai·车牌识别·lprnet
ccLianLian8 小时前
计算机基础·cs336·损失函数,优化器,调度器,数据处理和模型加载保存
人工智能·深度学习·计算机视觉·transformer
happyprince9 小时前
2026年02月08日热门论文
人工智能·深度学习·计算机视觉
晚霞的不甘18 小时前
CANN 在工业质检中的亚像素级视觉检测系统设计
人工智能·计算机视觉·架构·开源·视觉检测
一招定胜负20 小时前
入门MediaPipe:实现实时手部关键点检测
计算机视觉
一招定胜负20 小时前
新手入门MediaPipe系列:手势识别+姿态检测+脸部关键点检测
计算机视觉
一招定胜负1 天前
基于dlib和OpenCV的人脸替换技术详解
opencv·计算机视觉
空白诗1 天前
CANN ops-nn 算子解读:Stable Diffusion 图像生成中的 Conv2D 卷积实现
深度学习·计算机视觉·stable diffusion
lxs-1 天前
CANN计算机视觉算子库ops-cv全面解析:图像处理与目标检测的高性能引擎
图像处理·目标检测·计算机视觉