数字图像处理-图像的形态学处理(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 运行结果

相关推荐
格林威1 分钟前
工业相机参数解析:曝光时间与运动模糊的“生死博弈”
c++·人工智能·数码相机·opencv·算法·计算机视觉·工业相机
zl_vslam2 小时前
SLAM中的非线性优-3D图优化之相对位姿Between Factor-四元数(十二)
人工智能·算法·计算机视觉
格林威2 小时前
工业相机图像采集:Grab Timeout 设置建议——拒绝“假死”与“丢帧”的黄金法则
开发语言·人工智能·数码相机·计算机视觉·c#·机器视觉·工业相机
如若1234 小时前
WSL2 启动报错“拒绝访问“ E_ACCESSDENIED 完整解决方案
人工智能·pytorch·python·深度学习·计算机视觉
我就想睡到自然醒5 小时前
【论文翻译】CA注意力机制原文翻译 Coordinate Attention for Efficient Mobile Network Design
图像处理·人工智能·计算机视觉·目标跟踪·图像分类
Westward-sun.18 小时前
CNN 核心知识点详解:从图像基础到卷积与池化
人工智能·计算机视觉·cnn
jay神19 小时前
基于YOLOv8的钢材表面缺陷检测系统
人工智能·算法·yolo·目标检测·计算机视觉
_Twink1e21 小时前
2023-2026年计算机视觉领域期刊整理汇总
人工智能·计算机视觉
sensen_kiss1 天前
CPT306 Principles of Computer Games Design 电脑游戏设计原理 Pt.3 实时图形
学习·计算机视觉
格林威1 天前
工业相机图像高速存储(C++版):RAID 0 NVMe SSD 阵列暴力提速,附海康实战代码!
开发语言·c++·人工智能·数码相机·计算机视觉·工业相机·堡盟相机