请选择 进入手机版 | 继续访问电脑版

Hello Mat

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 683|回复: 1

一维最大熵法进行2分割和3分割(MATLAB)

[复制链接]

786

主题

928

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
30078
发表于 2019-10-20 21:30:27 | 显示全部楼层 |阅读模式
一维最大熵法进行2分割和3分割(MATLAB)
链接:https://pan.baidu.com/s/1M15vV4l8R96hahprmhXDEA&shfl=sharepset   提取码:hobi
具体链接在halcom.cn论坛,联系人QQ:3283892722
该论坛是一个学习交流平台,我会逐一的和大家分享学习。
欢迎大家录制视频,你可在论坛进行打赏分享。
视频专用播放器:http://halcom.cn/forum.php?mod=viewthread&tid=258&extra=page%3D1\

  1. clc,clear,close all
  2. warning off
  3. % 2个阈值,实现3分类分割
  4. I = imread('car.bmp');
  5. % I = imread('screen.jpg');
  6. figure('color',[1,1,1]), imshow(I,[])
  7. t1 = 128;  % 初始化最佳阈值
  8. t2 = 180;  % 初始化最佳阈值
  9. Lmax = 256;  % 最大灰阶, uin8
  10. k=1;
  11. for t1=0:Lmax-1
  12.     for t2 = t1+1:Lmax
  13.         pop(k,:) = [t1,t2];
  14.         H1(k) = H1_segFun2(I, pop(k,:) );
  15.         k=k+1;
  16.     end
  17. end
  18. [Hmax, bestT]=max(H1);

  19. % 显示
  20. Iout = imageGray(I, pop(bestT,:) );
  21. figure('color',[1,1,1])
  22. imshow(Iout,[])
  23. colormap jet;
  24. axis equal
复制代码
适应度函数H1_segFun2如下:
游客,如果您要查看本帖隐藏内容请回复
显示函数imageGray如下:
  1. function imgOut = imageGray(img, thre)
  2. % 图像按照不同的灰阶值显示
  3. limits = [0, thre, 255];
  4. imageSize = size(img);
  5. imgOut(:,:,:)=img*0;

  6. k=1;
  7. for i=1:imageSize(1,1)
  8.     for j=1:imageSize(1,2)
  9.         while(k<size(limits, 2))
  10.             if(img(i,j)>=limits(1,k) && img(i,j)<=limits(1,k+1))
  11.                 imgOut(i,j,1) = limits(1, k);  
  12.             end
  13.             k=k+1;
  14.         end
  15.         k=1;
  16.     end
  17. end
复制代码







算法QQ  3283892722
群智能算法链接http://halcom.cn/forum.php?mod=forumdisplay&fid=73
回复

使用道具 举报

0

主题

2

帖子

21

积分

新手上路

Rank: 1

积分
21
发表于 2019-12-24 18:58:51 | 显示全部楼层
感谢管理员分享的资源!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Python|Opencv|MATLAB|Halcom.cn  

GMT+8, 2020-1-25 10:06 , Processed in 0.085600 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表