【图像分割】基于matlab关键像素点FLICM图像分割【含Matlab源码 406期】
一、获取代码方式
获取代码方式1:
完整代码已上传我的资源: 【图像分割】基于matlab关键像素点FLICM图像分割【含Matlab源码 406期】
获取代码方式2:
通过紫极神光博客主页开通CSDN年度会员,凭支付凭证,私信博主,可获得此代码。
备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);
二、图像分割简介
理论知识参考:【基础教程】基于matlab图像处理图像分割【含Matlab源码 191期】
三、部分源代码
clear all;
clc;
image = load('im.txt');
%image = imread('017.jpg');
[row,col,channels] = size(image);if (channels > 1)image = rgb2gray(image);figure;imshow(image);title('原图像')
elsefigure;imshow(image);title('原图像')
end%对输入图像进行高斯滤波
originimg=image;
originimg=mat2gray(originimg);
[ori_row,ori_col]=size(originimg);
sigma = 1.6; %sigma赋值
N = 7; %大小是(2N+1)×(2N+1)
N_row = 2*N+1;
OriImage_noise = imnoise(originimg,'gaussian'); %加噪
gausFilter = fspecial('gaussian',[N_row N_row],sigma); %matlab 自带高斯模板滤波
img=imfilter(OriImage_noise,gausFilter,'conv');
%figure;
%imshow(img);
%title('高斯滤波后')key_mat = []; % 定义一个空的关键像素矩阵
non_key_mat = []; %非关键像素矩阵
for i = 2:3:rowfor j = 2:3:colif row-i<1|col-j<1continue;endwindow_image = img(i-1:i+1,j-1:j+1);[r,c] = size(window_image);max_value = max(max(window_image)); % 窗口最大值[x,y] = find(window_image==max_value);key_mat = [key_mat;[i-2+x(1),j-2+y(1),max_value]];img(i-2+x(1),j-2+y(1))=-1;
% for m = 1:r
% for n = 1:c
% non_key_mat = [non_key_mat;i-2+m,j-2+n,window_image(m,n)];
% end
% endend
end
[r,c]=find(img ~=-1);
value = (img(find(img ~=-1)));
non_key_mat = [r c value];
% for m = 1:row
% for n = 1:col
% tmp = [m,n,img(m,n)];
% if ismember(tmp,key_mat,'rows') == 1
% continue;
% end
% non_key_mat = [non_key_mat;tmp];
% end
% endNew_img = key_mat(:,3);
New_coord = key_mat(:,1:2);
cNum = 2;
m = 2;
winSize = 5;
maxIter = 59;
thrE = 0.00001;
% FLICM
[imOut,iter] = FLICM_clustering( New_img, cNum, m, winSize, maxIter, thrE );
imOut = double(imOut);
key_mat = [key_mat imOut];
figure;
gscatter(key_mat(:,1),key_mat(:,2),imOut);
size(non_key_mat);
size(key_mat);
key_mat;
%key_mat = sortrows(key_mat,[1 2])
%img(find(img==-1));
% [xx,yy] = find(img ==-1);
% key = sortrows([yy xx],1)
% img(find(img==-1)) = key_mat(:,4)
for i = 1:size(non_key_mat,1)z = ones(1,size(key_mat,1))*non_key_mat(i,1);z=z';zc = ones(1,size(key_mat,1))*non_key_mat(i,2);zc=zc';size(key_mat(:,1));dis = (z-key_mat(:,1)).* (z-key_mat(:,1))+(zc-key_mat(:,2)).*(zc-key_mat(:,2));dis = sqrt(dis);[labelx,labely] = min(dis);dis = sort(dis);xx = key_mat(labely,:);img(non_key_mat(i,1),non_key_mat(i,2)) = xx(4);
endfor j = 1:size(key_mat,1)img(key_mat(j,1),key_mat(j,2)) = key_mat(j,4);end
四、运行结果
五、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
[5]赵勇,方宗德,庞辉,王侃伟.基于量子粒子群优化算法的最小交叉熵多阈值图像分割[J].计算机应用研究. 2008,(04)
【图像分割】基于matlab关键像素点FLICM图像分割【含Matlab源码 406期】相关推荐
- 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】
一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...
- 【Matlab语音分析】语音信号分析【含GUI源码 1718期】
一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...
- 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】
一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...
- 【Matlab人脸识别】BP神经网络人脸识别(含识别率)【含GUI源码 891期】
一.代码运行视频(哔哩哔哩) [Matlab人脸识别]BP神经网络人脸识别(含识别率)[含GUI源码 891期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...
- 【Matlab人脸识别】形态学教室人数统计(带面板)【含GUI源码 1703期】
一.代码运行视频(哔哩哔哩) [Matlab人脸识别]形态学教室人数统计(带面板)[含GUI源码 1703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟 ...
- 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】
一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...
- 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】
一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...
- 【Matlab语音加密】语音信号加密解密(带面板)【含GUI源码 181期】
一.代码运行视频(哔哩哔哩) [Matlab语音加密]语音信号加密解密(带面板)[含GUI源码 181期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆 ...
- 【Matlab身份证识别】身份证号码识别【含GUI源码 014期】
一.代码运行视频(哔哩哔哩) [Matlab身份证识别]身份证号码识别[含GUI源码 014期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...
- 【Matlab人脸识别】KL变换人脸识别【含GUI源码 859期】
一.代码运行视频(哔哩哔哩) [Matlab人脸识别]KL变换人脸识别[含GUI源码 859期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...
最新文章
- 经验 | OpenCV图像旋转的原理与技巧
- static_cast函数
- C语言 从指定文件中依次读出字符直至文件结束
- 北京内推 | ​阿里达摩院智能计算实验室认知智能组招收多模态算法实习生
- 软件工程---07.设计与实现
- 【人工智能】全网首发!2020年AI、CV、NLP等最全国际会议、顶会时间汇总!!
- Dart 10-Day
- php框架中间件,【框架十】Coder PHP Framework 中间件
- .net core 3.1 mysql_.net core3.1 MVC使用sqlsugar方式操作mysql数据库
- What is Closure
- c#反编译生成DLL过程
- Msm8960(APQ8064)平台的MSM-AOSP-kitkat编译适配(1):基础知识
- 【论文阅读】强化学习-Transfer and Multitask RL专题8篇
- 移动硬盘格式避坑指南
- Failed to prettify component
- 灵剑问道服务器维护到几点,问道手游2020年12月31日维护公告_问道手游12月31日更新了什么_玩游戏网...
- 电脑怎么连接隐藏的无线WiFi信号呢?
- SQL查询列出每个班的班号和总人数
- python 离群值_如何从Numpy数组中删除离群值
- C-获得文件大小并动态申请内存屏幕打印文件内容小程序
热门文章
- maven-下载源码与javadoc
- 黑马程序员-Java基础,Java集合Collection和Iterator接口
- 3d ListView翻译
- [转载] 全本张广泰——第九回 出世见师兄 广泰走江湖
- WinAPI: wvsprintf 与 wsprintf - Windows 的格式化输出函数
- cvCreateImage函数与cv
- 20191011每日一句
- 传智播客扫地僧C/C++学习笔记冒泡排序
- Atitit postgre sql json使用法 目录 1.1.1. 插入数据	1 2. json数据的常见操作	1 1.1.1.插入数据 插入数据可以直接以json格式插入: insert
- Atitit 标记语言ML(Markup Language) v4 目录 1. 标记语言ML Markup Language	1 1.1. 简介	1 2. 置标语言置标语言通常可以分为三类:标识性的