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

相关推荐
xsc-xyc8 小时前
RuntimeError: Dataset ‘/data.yaml‘ error ❌ ‘_lz
人工智能·深度学习·yolo·计算机视觉·视觉检测
星爷AG I10 小时前
9-28 视觉工作记忆(AGI基础理论)
人工智能·计算机视觉·agi
橙露11 小时前
视觉检测中的数字光纤放大器的核心参数和调整
人工智能·计算机视觉·视觉检测
AAD5558889913 小时前
基于Mask_RCNN的猫科动物目标检测识别模型实现与分析
人工智能·目标检测·计算机视觉
LittroInno14 小时前
TVMS视频管理平台 —— 多种目标跟踪模式
人工智能·计算机视觉·目标跟踪
没有不重的名么14 小时前
Multiple Object Tracking as ID Prediction
深度学习·opencv·计算机视觉·目标跟踪
马拉AI15 小时前
VAE不再必要?北大PixelGen:像素扩散反超Latent Diffusion,重塑生成新范式
人工智能·计算机视觉
愚者游世15 小时前
Opencv知识点大纲
人工智能·opencv·计算机视觉
格林威16 小时前
Baumer相机电池极耳对齐度检测:提升叠片工艺精度的 5 个实用方案,附 OpenCV+Halcon 实战代码!
人工智能·opencv·机器学习·计算机视觉·视觉检测·工业相机·堡盟相机
Funny_AI_LAB17 小时前
GLM-OCR发布:性能SOTA,超越PaddleOCR-VL-1.5?
人工智能·计算机视觉·语言模型·ocr