Ostu算法的Matlab源代码以及程序解析

简介: Ostu算法的Matlab源代码以及程序解析

源代码 tic % function th=Otsu; a=imread('22.bmp'); c=a; %imshow(a) count=imhist(a);%直方图 [m,n]=size(a); N=m*n; L=256; count=count/N;

for i=1:L%这两个循环是将两头不存在的灰度值去掉,提高运行速度 if count(i)=0 st=i-1; break; end end for i=L:-1:1 if count(i)=0 nd=i-1; break; end end f=count(st+1:nd+1);  %f是每个灰度出现的概率 p=st;   q=nd-st; u=0; for i=1:q u=u+f(i)*(p+i-1);  %u是像素的平均值 ua(i)=u;           %ua(i)是前i个像素的平均灰度值 end;


for i=1:q w(i)=sum(f(1:i));  %w(i)是前i个像素的累加概率?? end;

d=(uw-ua).^2./(w.(1-w)); [y,tp]=max(d);  %可以取出数组的最大值及取最大值的点 th=tp+p;%这一句很重要


for i=1:m%二值化 for j=1:n if a(i,j)>th a(i,j)=0; else a(i,j)=255; end end end subplot(2,1,1),imshow(c); subplot(2,1,2),imshow(a); toc%tic,toc可以显示程序运行时间


相关文章
|
27天前
|
机器学习/深度学习 存储 算法
如何评判算法好坏?复杂度深度解析
如何评判算法好坏?复杂度深度解析
24 0
|
30天前
|
机器学习/深度学习 算法 PyTorch
RPN(Region Proposal Networks)候选区域网络算法解析(附PyTorch代码)
RPN(Region Proposal Networks)候选区域网络算法解析(附PyTorch代码)
219 1
|
1月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到"hand.txt"文件。
|
4天前
|
机器学习/深度学习 人工智能 算法
基于DCT和扩频的音频水印嵌入提取算法matlab仿真
本文介绍了结合DCT和扩频技术的音频水印算法,用于在不降低音质的情况下嵌入版权信息。在matlab2022a中实现,算法利用DCT进行频域处理,通过扩频增强水印的隐蔽性和抗攻击性。核心程序展示了水印的嵌入与提取过程,包括DCT变换、水印扩频及反变换步骤。该方法有效且专业,未来研究将侧重于提高实用性和安全性。
|
29天前
|
缓存 算法 C语言
【C++ 标准查找算法 】C++标准库查找算法深入解析(In-depth Analysis of C++ Standard Library Search Algorithms)
【C++ 标准查找算法 】C++标准库查找算法深入解析(In-depth Analysis of C++ Standard Library Search Algorithms)
46 0
|
7天前
|
文字识别 算法 计算机视觉
图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正
图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正
15 0
|
10天前
|
机器学习/深度学习 算法
【MATLAB】GA_ELM神经网络时序预测算法
【MATLAB】GA_ELM神经网络时序预测算法
282 9
|
16天前
|
存储 缓存 算法
深度解析JVM世界:垃圾判断和垃圾回收算法
深度解析JVM世界:垃圾判断和垃圾回收算法
|
17天前
|
存储 算法
【算法与数据结构】深入解析二叉树(二)之堆结构实现
【算法与数据结构】深入解析二叉树(二)之堆结构实现
|
21天前
|
存储 算法
从动态规划到贪心算法:最长递增子序列问题的方法全解析
从动态规划到贪心算法:最长递增子序列问题的方法全解析
20 2

推荐镜像

更多