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

相关推荐
开开心心就好11 小时前
仅168KB的桌面图标自动隐藏工具
windows·计算机视觉·计算机外设·excel·启发式算法·宽度优先·csdn开发云
xrgs_shz17 小时前
MATLAB 纹理特征提取:一文读懂 graycomatrix 与 graycoprops
人工智能·计算机视觉·matlab
格林威18 小时前
3D相机视觉检测:环境光太强,结构光点云全是噪点怎么办?
开发语言·人工智能·数码相机·计算机视觉·3d·视觉检测·工业相机
格林威19 小时前
线阵工业相机:线阵图像出现“波浪纹”,是机械振动还是编码器问题?
开发语言·人工智能·数码相机·计算机视觉·视觉检测·工业相机·线阵相机
β添砖java20 小时前
深度学习(15)卷积层
人工智能·深度学习·计算机视觉
sali-tec20 小时前
C# 基于OpenCv的视觉工作流-章59-九点标定
图像处理·人工智能·opencv·计算机视觉
格林威21 小时前
工业视觉检测:单样本学习 vs 传统监督学习
人工智能·深度学习·数码相机·学习·计算机视觉·视觉检测·工业相机
格林威21 小时前
工业视觉检测:两大主流异常检测开源框架深度对比(PatchCore vs SPADE)
开发语言·人工智能·深度学习·数码相机·计算机视觉·视觉检测·工业相机
嵌入式老牛21 小时前
液晶段码(米/日字格)识别—预处理
人工智能·opencv·计算机视觉
程序员学习Chat1 天前
计算机视觉-异常检测
人工智能·计算机视觉·异常检测