一、贝叶斯图像分割简介(具体理论见参考文献)

针对海底鱼图像中鱼难以从背景中分割出来的问题,本文对贝叶斯决策中常用的两种方法进行了分析和研究,提出了一种基于最小错误率决策的海底鱼图像分割方法。具体的解决方法如下:首先,选择合适颜色的背景纸板,拍摄图片后,选择图像的蓝色通道来获得灰度图像;然后计算三个数据:根据前景和背景像素的灰度级频率直方图分布得到正态分布函数的参数;根据图像中的前景和背景所占的比例来计算先验概率;根据贝叶斯公式计算每个像素灰度级的后验概率。最后,根据后验概率判别函数将像素归入前景或者背景,从而达到图像分割的效果。经过试验,能够对图集中的其他桃蛀螟幼虫图像进行分割,并取得了较好的效果。
本文的方法和传统与经典OSTU算法对比, 能够避免OSTU法中某些像素的过度分割现象, 达到较好的分割效果。可以得出如下结论:图集中背景和前景
的蓝色通道的像素灰度级呈现正态随机分布;基于贝叶斯决策的决策方法,在图像像素灰度级呈现正态随机分布的情况下,通过取得最大后验概率,可进行图像分割,并可应用于同一图集的其他图像分割中。

二、部分源代码

clc
clear all%读入三种数据
image=imread('309.bmp');
image_gray = rgb2gray(image);
s=load('array_sample');
Mask=load('Mask.mat');[M,N]=size(image_gray);%灰度图像大小%获得灰度小鱼
for i=1:Mfor j=1:Nnemo_gray(i,j)=image_gray(i,j)*Mask.Mask(i,j);end
end
%获得彩色小鱼
for k=1:3
for i=1:Mfor j=1:Nnemo(i,j,k)=image(i,j,k)*Mask.Mask(i,j);end
end
endfigure('NumberTitle', 'on', 'Name', '小鱼肤色分割'),subplot(2,2,1);imshow(image),title('image');subplot(2,2,2);imshow(image_gray),title('image\_gray');subplot(2,2,3);imshow(nemo),title('nemo');subplot(2,2,4);imshow(nemo_gray),title('nemo\_gray');[m,n]=size(s.array_sample);%样本矩阵大小%提取两类灰度样本
j=1;
for i=1:mif(s.array_sample(i,5)==1)sample_gray1(i)=s.array_sample(i,1);elsesample_gray2(j)=s.array_sample(i,1);j=j+1;end
end
lab_num1=length(sample_gray1);
lab_num2=length(sample_gray2);%先验概率
w1=lab_num1/m;
w2=lab_num2/m;[mu1,sigma1]=normfit(sample_gray1);
[mu2,sigma2]=normfit(sample_gray2);figure('NumberTitle', 'on', 'Name', '小鱼肤色分割');fplot(@(x)normpdf(x,mu1,sigma1),[0,1]),hold onfplot(@(x)normpdf(x,mu2,sigma2),[0,1])title '正态分布密度函数';

三、运行结果


四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
[5]廉世彬,朱晓冬,翟海茹,闫俊君.基于贝叶斯决策的果树害虫图像分割研究[J].农业网络信息. 2016,(02)

【图像分割】基于matlab贝叶斯图像分割【含Matlab源码 1677期】相关推荐

  1. 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】

    一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...

  2. 【Matlab语音分析】语音信号分析【含GUI源码 1718期】

    一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...

  3. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  4. 【Matlab人脸识别】BP神经网络人脸识别(含识别率)【含GUI源码 891期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]BP神经网络人脸识别(含识别率)[含GUI源码 891期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  5. 【Matlab人脸识别】形态学教室人数统计(带面板)【含GUI源码 1703期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]形态学教室人数统计(带面板)[含GUI源码 1703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟 ...

  6. 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...

  7. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  8. 【Matlab语音加密】语音信号加密解密(带面板)【含GUI源码 181期】

    一.代码运行视频(哔哩哔哩) [Matlab语音加密]语音信号加密解密(带面板)[含GUI源码 181期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆 ...

  9. 【Matlab身份证识别】身份证号码识别【含GUI源码 014期】

    一.代码运行视频(哔哩哔哩) [Matlab身份证识别]身份证号码识别[含GUI源码 014期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  10. 【Matlab人脸识别】KL变换人脸识别【含GUI源码 859期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]KL变换人脸识别[含GUI源码 859期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

最新文章

  1. 淮海工学院linux实验报告三,作业三 实验报告
  2. 扫地机器人水箱背景_你真的懂扫地机器人吗?这些不为人知的小细节值得一看...
  3. 2021-06-29提交表单事件
  4. rust-vmm 学习
  5. LRC (Lyric) 字幕
  6. 空气温湿度光照度传感器
  7. 刘作虎:二次购机潮即文艺复兴时
  8. vmd参数优化 matlab,遗传算法优化VMD参数
  9. 快速搭建去中心化视频分享平台peertube
  10. 机房收费系统问题集(2)——移动登陆界面+show出子窗体
  11. 春风得意的 jQuery
  12. 全球圣诞节离不开义乌!义乌购发布圣诞用品搜索热度指数;阿迪达斯将成为Jr. NBA中国官方市场合作伙伴 | 美通社头条...
  13. Hexo sakura整理
  14. 浏览器输入www.baidu.com之后发生了什么
  15. Must use destructuring props assignmenteslint
  16. ios移动端兼容:iPhone X等机型底部的安全距离样式的设置
  17. java jdbc excel_详解poi+springmvc+springjdbc导入导出excel实例
  18. 学术界为啥不爱投中文期刊?
  19. 了解无线通信技术WiFi,Sub 1G,Zigbee
  20. 菲律宾央行批准成立两家新加密货币交易所

热门文章

  1. Git-第五篇廖雪峰Git教程学习笔记(4)分支
  2. 通过谷歌浏览器,找到页面某个事件属于哪个js文件
  3. 云存储20181101-16讲
  4. vue 组件创建与销毁
  5. MySQL KEY分区
  6. MVC4 Model ValueProvider
  7. 常见的嵌入式linux学习和如何选择ARM芯片问答
  8. Fragment与Activity
  9. [转] Java之ACM速成
  10. 笑话一则(小狗的故事)