当前位置: 首页>編程日記>正文

贝叶斯决策

贝叶斯决策

使用MATLAB 基于贝叶斯决策的图像分割

OpenCV下载使用

VS配置openCV教程

python实现

使用MATLAB 基于贝叶斯决策的Nemo鱼像素点分类

参数方法

灰度图像分割
clc
clear all
%load array_sample and Mask data
sample=cell2mat(struct2cell(load('C:\Users\Tony Stack\Desktop\第二次大作业\array_sample')));
Mask=cell2mat(struct2cell(load('C:\Users\Tony Stack\Desktop\第二次大作业\Mask.mat')));
%Load imgage
I=im2double(imread('C:\Users\Tony Stack\Desktop\第二次大作业\309.bmp'));
Ig=im2double(rgb2gray(I));%灰色图片
nemo_gray=Ig.*Mask;%灰色nemo
imshow(nemo_gray)
%%参数计算及pdf的确定
%提取两类灰度样本
j=1;
for i=1:length(sample)if(sample(i,5)==1)sample_gray1(i)=sample(i,1);elsesample_gray2(j)=sample(i,1);j=j+1;end
end
%计算先验概率
p1=length(sample_gray1)/length(sample);
p2=length(sample_gray2)/length(sample);
%计算两类灰度样本的mu和sigma
%使得似然函数偏导为0
mu1=1/length(sample_gray1)*sum(sample_gray1(:));
A1=(sample_gray1-mu1).^2;
sigma1=sqrt(1/length(sample_gray1)*sum(A1(:)));
mu2=1/length(sample_gray2)*sum(sample_gray2(:));
A2=(sample_gray2-mu2).^2;
sigma2=sqrt(1/length(sample_gray2)*sum(A2(:)));
% %plot 两类pdf
% figure()
% fplot(@(x)normpdf(x,mu1,sigma1),[0,1]),hold on
% fplot(@(x)normpdf(x,mu2,sigma2),[0,1])
% title ('pdf')
% legend('sample gray1','sample gray2')%%gray segment
[M,N]=size(Ig);%灰度图像大小
Gray=reshape(nemo_gray,M*N,1);
for i=1:M*Nif Gray(i)==0out(i)=0;else%判别函数g1=p1*normpdf(Gray(i),mu1,sigma1);g2=p2*normpdf(Gray(i),mu2,sigma2);if (g1>g2)out(i)=255;elseout(i)=0;endend
end
gray_segment=reshape(out,[M,N]);
figure()
imshow(gray_segment)
title('gray segmented image')

results:
在这里插入图片描述

彩色图像分割
clc
clear all
%load array_sample and Mask data
sample=cell2mat(struct2cell(load('C:\Users\Tony Stack\Desktop\第二次大作业\array_sample')));
Mask=cell2mat(struct2cell(load('C:\Users\Tony Stack\Desktop\第二次大作业\Mask.mat')));
%Load imgage
I=im2double(imread('C:\Users\Tony Stack\Desktop\第二次大作业\309.bmp'));
nemo=I.*Mask;%彩色nemo
imshow(nemo)
%提取两类RGB样本
j=1;
for i=1:length(sample)if(sample(i,5)==1)RGB1(i,1:3)=sample(i,2:4);elseRGB2(j,1:3)=sample(i,2:4);j=j+1;end
end
%计算先验概率
p1=length(RGB1)/length(sample);
p2=length(RGB2)/length(sample);
%确定pdf的参数
mu1=mean(RGB1);
mu2=mean(RGB2);
%协方差矩阵
delta1=cov(RGB1);
delta2=cov(RGB2);
%分割彩色图像
[M,N,H]=size(I);%彩色图像大小
Color=reshape(nemo,M*N,3)';
%plot pdf
for i=1:M*Nif(Color(:,i)==[0;0;0])out(:,i)=[0;0;0];elseg1=p1*mvnpdf(Color(:,i)',mu1,delta1);g2=p2*mvnpdf(Color(:,i)',mu2,delta2);if(g1>=g2)out(:,i)=[1,0,0];elseout(:,i)=[0,0,1]; endend 
end
Color_segmented=reshape((out)',M,N,H);
figure()
imshow(Color_segmented)
title('color segmented image')

results:
在这里插入图片描述


https://www.fengoutiyan.com/post/16263.html

相关文章:

  • 生活中用到贝叶斯的例子
  • 最小贝叶斯决策
  • 贝叶斯定律表达了什么
  • 贝叶斯定理浪漫解释
  • 贝叶斯决策论的应用
  • 贝叶斯决策边界
  • 贝叶斯决策论的应用场景
  • 贝叶斯分析法
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機