上面两篇博客,解释了概率有向图(贝叶斯网),和用其解释条件独立。本篇将研究马尔可夫随机场(Markov random fields),也叫无向图模型,或称为马尔科夫网(Markov network)

下面附上,上述实验的matlab代码。没有插入matlab选项,大家复制到matlab里面看吧。下次我用python实现吧

% PRML image de-noising
clc;
clear;
close all;
A=imread('a.jpg');%读入名字为a.jpg的图片
imshow(A);
M=;
N=;%把图片处理一下大小
A=imresize(A,[M,N]);
X = rgb2gray(A); for i=:M%%二值化图像,要根据实验图像来改天阈值,本实验阈值为200
for j=:N
if(X(i,j)<)%200为阈值,请您根据实际实验图片改变
X(i,j)=;
else
X(i,j)=;
end end
end
Y=X%把原图X保存在Y里
imshow(X)%显示X
for i=:M%这两个for循环是改变二值化图像10%点的值。
for j=:N
if(rand()<0.1)%以百分之10的概率进行改变
if(Y(i,j)==)
% Y(i,j)=;
Y(i,j)=;
else
Y(i,j)=;
end
end
end
end
figure;
imshow(Y);%显示带有噪声的图像 YY=zeros(M,N)
for i=:M%把{,}转换为{-,+}
for j=:N if Y(i,j)==
YY(i,j)=;
else
YY(i,j)=-;
end end
end %参数设置
beta=1.0;
yita=2.1;
h=;
%step1
R=YY; %R是要逼近X的图像,YY是噪声图像 %step2
Change=
while Change %系统扫描法,可以试试随机选点法的效果
Change=;
for i=:M-
for j=:N-
temp=R(i,j);
%若这个点状态为+,计算这一点的能量。
%解释一下为什么是2*beta..因为这个点不仅影响自己的能量函数,也影响了周围四个点的能量函数。
%所以-*beta=-beat*(..)-beat*(...).第一项相当于它自己的能量函数,第二项相当于周围能量函数的一部分。
%R(i,j)不会对其他点的能量造成影响,所以只考虑(i,j)点的能量与其组成团的点的部分能量函数即可。
R(i,j)=;
Epos=h*R(i,j)-*beta*(R(i+,j)*R(i,j)+R(i-,j)*R(i,j)+R(i,j+)*R(i,j)+R(i,j-)*R(i,j))-yita*R(i,j)*YY(i,j);
R(i,j)=-;
Eneg=h*R(i,j)-*beta*(R(i+,j)*R(i,j)+R(i-,j)*R(i,j)+R(i,j+)*R(i,j)+R(i,j-)*R(i,j))-yita*R(i,j)*YY(i,j);
if Epos~=Eneg
R(i,j)=1.0*(Epos<Eneg)+(Epos>Eneg)*-1.0;
else
R(i,j)=temp;
end
if temp~=R(i,j)
Change=;%若有变化则继续while1的系统扫描,若每个点都没有改变则结束程序
end
end
end
end for i=:M
for j=:N
if(R(i,j)==)
Y(i,j)=;
else
Y(i,j)=;
end
end
end
figure;
imshow(Y)
%错误的概率
disp( ['error rate is %d ' num2str(sum(sum(Y~=X))/(M*N))])

参考文献:

本blog参考书籍(PRML8.3节)

ICM算法参考(Kittler and Foglein,1984)

本人水平有限,怀着分享学习的态度发表此文,欢迎大家批评,交流。感谢您的阅读。
欢迎转载本文,转载时请附上本文地址:http://www.cnblogs.com/Dzhouqi/p/3207601.html
另外:欢迎访问我的博客 http://www.cnblogs.com/Dzhouqi/

马尔可夫随机场(Markov random fields) 概率无向图模型 马尔科夫网(Markov network)的更多相关文章

  1. Markov Random Fields

    We have seen that directed graphical models specify a factorization of the joint distribution over a ...

  2. 条件随机场 Conditional Random Fields

    简介 假设你有冠西哥一天生活中的照片(这些照片是按时间排好序的),然后你很无聊的想给每张照片打标签(Tag),比如这张是冠西哥在吃饭,那张是冠西哥在睡觉,那么你该怎么做呢? 一种方法是不管这些照片的序 ...

  3. 随机场(Random field)

    一.随机场定义 http://zh.wikipedia.org/zh-cn/随机场 随机场(Random field)定义如下: 在概率论中, 由样本空间Ω = {0, 1, …, G − 1}n取样 ...

  4. 条件随机场(Conditional random field)

    条件随机场真是把我给折磨坏了啊,本以为一本小小的<统计学习方法>攻坚剩下最后一章,心情还是十分愉悦的,打算一口气把它看完,结果真正啃起来真是无比的艰难啊,每一句对我都好像是天书一般,怎么这 ...

  5. 马尔科夫随机场(MRF)及其在图像降噪中的matlab实现

    (Markov Random Field)马尔科夫随机场,本质上是一种概率无向图模型 下面从概率图模型说起,主要参考PR&ML 第八章 Graphical Model (图模型) 定义:A g ...

  6. PGM:无向图模型:马尔可夫网

    http://blog.csdn.net/pipisorry/article/details/52489321 马尔可夫网 马尔可夫网在计算机视觉领域通常称为马尔可夫随机场(Markov random ...

  7. 马尔科夫随机场(Markov Random Field)

    马尔可夫随机场(Markov Random Field),它包含两层意思:一是什么是马尔可夫,二是什么是随机场. 马尔可夫过程可以理解为其当前的状态只与上一刻有关而与以前的是没有关系的.X(t+1)= ...

  8. 马尔科夫随机场模型(MRF-Markov Random Field)

    原文: http://blog.sina.com.cn/s/blog_92c398b00102vs3q.html 马尔科夫过程​ 隐马尔科夫过程​​ 与马尔科夫相比,隐马尔可夫模型则是双重随机过程,不 ...

  9. PGM学习之七 MRF,马尔科夫随机场

    之前自己做实验也用过MRF(Markov Random Filed,马尔科夫随机场),基本原理理解,但是很多细节的地方都不求甚解.恰好趁学习PGM的时间,整理一下在机器视觉与图像分析领域的MRF的相关 ...

随机推荐

  1. 一个简单的AJAX示例(转)

    转载自:http://www.cnblogs.com/rubylouvre/archive/2013/01/08/2851051.html,为了防备面试,备份一份吧!! 虽然现在有了框架,许多AJAX ...

  2. "reason":"No handler for type [attachment] declared on field [file]" 最完全解决方案

    0.elasticsearch-mapper-attachments 2.3.4安装 mapper-attachments安装方法分两类,在线和离线: 在线安装 bin/elasticsearch-p ...

  3. c# http请求添加cookie

    CookieCollection cookList = new CookieCollection(); cookList.Add(new Cookie("cf_clearance" ...

  4. 基于WebSocket实现网页版聊天室

    WebSocket ,HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议,其使用简单,应用场景也广泛,不同开发语言都用种类繁多的实现,仅Java体系中,Tomcat,Jetty,Sp ...

  5. laravel 配置修改及读取

    1)laravel 的所以配置文件都在根目录下的 config 目录里,直接看一个配置文件的名字就知道是做什么的了,这里不说了 2)读取配置的方法 $value = config('app.timez ...

  6. The type org.springframework.dao.DataAccessException cannot be resolved. It is indirectly referenced from required .class files

    使用spring框架提供的JDBC模板操作数据库时,提示错误 解决方案:导入事务管理jar包spring-tx-4.2.4.RELEASE.jar

  7. Qt 等待一段时间例如1s

    QTime dieTime = QTime::currentTime().addMSecs(1000); while( QTime::currentTime() < dieTime ) QCor ...

  8. Http协议原理解析第一篇

    一:http的由来: OSI模型把网络通信分成七层:物理层.数据链路层.网络层.传输层.会话层.表示层和应用层,对于开发网络应用人员来说,一般把网络分成五层,这样比较容易理解.这五层为:物理层.数据链 ...

  9. std::condition_variable

    /* std::condition_variable 提供了两种 wait() 函数.当前线程调用 wait() 后将被阻塞(此时当前线程应该获得了锁(mutex),不妨设获得锁 lck),直到另外某 ...

  10. 【BZOJ3033】太鼓达人 暴力+欧拉回路

    [BZOJ3033]太鼓达人 Description 七夕祭上,Vani牵着cl的手,在明亮的灯光和欢乐的气氛中愉快地穿行.这时,在前面忽然出现了一台太鼓达人机台,而在机台前坐着的是刚刚被精英队伍成员 ...