当前位置:网站首页>【图像分割】基于马尔可夫随机场实现图像分割附matlab代码
【图像分割】基于马尔可夫随机场实现图像分割附matlab代码
2022-06-11 18:53:00 【Matlab科研工作室】
1 简介
日常生活中,人们用图像进行信息的获取和交换,因此,图像处理的应用范
围一定涉及到人们的生活、工作和学习的各个方面。而随着社会的发展,人类活
动范围也随之扩大,随之变化的还有图像处理的应用范围。确切的说图像处理是
关于图像的获取、传输、存储、变换、显示、理解与综合利用的一门学科。图像
处理原来出现主要原因是用于提高图像的质量,它将人作为标准,通过改变图像
的视觉效果来达到改善的目的。在图像处理的过程中,运行程序输入的是劣质的
图像,最后输出的是经过处理后的质量得到完善的图像,目前常用的图像处理方
法有图像增强、复原、编码、压缩等。自 1975 年以后,图像处理技术得到深入发
展,而数字图像处理则向着更高、更深层次发展。人们已开始研究如何用计算机
系统诠释图像,实现类似人类视觉系统理解外部的目的,这被称为图像理解或计
算机视觉。
数字图像在采集和传输处理的过程中经常受到各种如设备环境等因素的影响。
例如设备中原件的灵敏性不均匀,雨天与晴天所得的图像不一,图像传输过程的
误差及人为原因等,都会对图像采集及传输造成影响。特别是存在于图像中的噪
声的影响,会使原本优化的图像质量发生改变。因此在对图像做进一步的操作之
前,我们通常先去除图像中的噪声。否则很可能使得我们对图像处理的时候所得
结果与实际需求发生较大偏差或误差。为了保留图像中的有用信息,而图像去噪
就成为图像处理中的一个重要环节,来减少或消除图像中的噪声和干扰。在实际
应用中,为了更好地完成图像后续处理(如图像分割,图像识别等),我们将图像去
噪作为图像处理与识别的预处理。因此如何能够在快速传递、储存和处理信息的
同时不改变信息的质量成了亟待解决的问题。
马尔科夫随机场(Markov Random Field)它包含两层意思:一是什么是马尔
科夫,二是什么是随机场。所谓的马尔科夫指的是马尔科夫的性质。当一个随机
过程在给定现在状态及所有过去状态情况下,其未来状态的条件概率分布仅依赖
于当前状态;换句话说,在给定现在状态时,它与过去状态(即该过程的历史路
径)是条件独立的,那么此随机过程即具有马尔科夫性。具有马尔可夫性质的过
程通常称之为马尔科夫过程。第一层理论已经被人们所熟悉,下面重点介绍马尔
科夫随机场的相关理论。






2 部分代码
%对图像进行分割clcclearclose allimg = double(imread('rice.png'));%读取RGB彩色图像% img=double(rgb2gray(I));%将彩色图像变成灰度图像,并将像素值变成double类型class_number = 6;%设置分类数目max_iter = 40;%最大迭代次数%-------------随机初始化标签----------------label = randi([1,class_number],size(img));iter = 0;while iter < max_iter%-------计算先验概率---------------%采用像素点和二维领域的标签相同与否来作为先验概率%------收集二维邻域内各点的标签--------label_u = imfilter(label,[0,1,0;0,0,0;0,0,0],'replicate');%上label_d = imfilter(label,[0,0,0;0,0,0;0,1,0],'replicate');%下label_l = imfilter(label,[0,0,0;1,0,0;0,0,0],'replicate');%左label_r = imfilter(label,[0,0,0;0,0,1;0,0,0],'replicate');%右label_ul = imfilter(label,[1,0,0;0,0,0;0,0,0],'replicate');%左上label_ur = imfilter(label,[0,0,1;0,0,0;0,0,0],'replicate');%右上label_dl = imfilter(label,[0,0,0;0,0,0;1,0,0],'replicate');%左下label_dr = imfilter(label,[0,0,0;0,0,0;0,0,1],'replicate');%右下pro_c = zeros(class_number,size(label,1)*size(label,2));%计算像素点8领域标签相对于每一类的相同个数for i = 1:class_numberlabel_i = i * ones(size(label));temp = ~(label_i - label_u) + ~(label_i - label_d) + ...~(label_i - label_l) + ~(label_i - label_r) + ...~(label_i - label_ul) + ~(label_i - label_ur) + ...~(label_i - label_dl) +~(label_i - label_dr);%出现的频数pro_c(i,:) = temp(:)/8;%用频数除以总数来计算概率endpro_c(pro_c == 0) = 0.00001;%防止出现0%---------------计算条件概率----------------iter = iter + 1;%----画出原图作比较---if iter==max_itersubplot(3,3,n);imshow(img)title('原图');endend
3 仿真结果




4 参考文献
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
边栏推荐
- cf:A. Print a Pedestal (Codeforces logo?) [simple traversal simulation]
- 「案例分享」基于 AM57x+ Artix-7 FPGA开发板——PRU开发手册详解
- On the sequence traversal of binary tree
- Learn to use LSTM and IMDB comment data for emotion analysis training
- 视觉SLAM十四讲笔记-10-2
- Cf:c. restoring the duration of tasks
- Force deduction 23 questions, merging K ascending linked lists
- Do you know that public fields are automatically filled in
- The 2023 MBA (Part-time) of Beijing University of Posts and telecommunications has been launched
- Financial bank_ Introduction to collection system
猜你喜欢

Gmail:如何撤回发出的邮件?
2022 coming of age ceremony, to every college entrance examination student

今天睡眠质量记录60分
Uploading and downloading of necessary files in development

Ubuntu installs PSQL and runs related commands

视觉SLAM十四讲笔记-10-1

手把手教你学会FIRST集和FOLLOW集!!!!吐血收藏!!保姆级讲解!!!

Signal processing and capture

Surveillance des fonctions de perte avec visdom

Quanzhi Technology T3 Development Board (4 Core ARM Cortex - A7) - mqtt Communication Protocol case
随机推荐
Add your favorite background music
Cf:c. restoring the duration of tasks
How to manually execute workflow on SAP BTP
The nearest common ancestor of binary tree
Labelme for image data annotation
leetcode:剑指 Offer 56 - II. 数组中数字出现的次数 II【简单排序】
公共字段自动填充,你了解吗
Niu Ke's questions -- two sorting methods
Téléchargement et téléchargement des fichiers nécessaires au développement
记录一下phpstudy配置php8.0和php8.1扩展redis
Why is ti's GPMC parallel port more often used to connect FPGA and ADC? I give three reasons
WWDC22 开发者需要关注的重点内容
2022-2023 MEM pre approval interview notice of School of management, Xi'an Jiaotong University
MySQL in-depth and complete learning - stage 1 - overview of learning
牛客刷题——合法括号序列判断
全志科技T3开发板(4核ARM Cortex-A7)——视频开发案例
Quanzhi technology T3 development board (4-core arm cortex-a7) - video development case
Mysql深入完全学习---阶段1---学习总述
使用图像处理技术和卷积神经网络(CNN)的作物病害检测
開發中必備的文件的上傳與下載