资源简介
对血液图片利用matlab工具进行处理,完成图像分割,血液细胞形态特征提取,利用红色外界矩形在原图上将血液框选出来。
有问题可以发邮件至:1263398286@qq.com

代码片段和文件信息
%*************************************************************%
%作者:杨吕鹏
%时间:2018/7/21
%实现功能:对血液图片进行处理,提取图片中的红细胞的形态特征,实现红细胞计数。正确率大于95%。
close all;clear all;clc;
%*************************************************************%
I = imread(‘blood.jpg‘);%读取血液图像
I = rgb2gray(I); %将彩图转为灰度图
%figure(1);imshow(I);
%***********************平滑***********************************%
h = fspecial(‘average‘3); %3*3均值滤波模板
I = imfilter(I h ‘replicate‘); %重复填充边界
%figure(2);imshow(I);
%*********************对原图像进行二值化处理********************%
t = graythresh(I); %计算阈值t
C = im2bw(It); %根据阈值二值化图像
%C = not(C);
%figure(3);subplot(131)imshow(C);
%**********************技巧性处理******************************%
%该处理主要是针对图片四周的红细胞的处理,便于下一步的填充处理,避免将边缘的红细胞去除
[rc] = size(C);
C(1:) = 1;
%C(r:) = 1;
C(:1) = 1;
C(:c) = 1;
C(2:) = 0;
%C(r-1:) = 0;
C(:2) = 0;
C(:c-1) = 0;
C = not(C);
%**********************填充处理********************************%
D=imfill(C8‘holes‘);%对处理后的红细胞进行填充处理
%figure(3)subplot(132)imshow(C);
D = D - C;
D = imfill(D8‘holes‘);
%figure(3)subplot(133)imshow(D);
%*********************标记区域*********************************%
[LN] = bwlabel(D8); %连通标记
s = regionprops(L‘Area‘);%将连通标记结果对应连通区域计算面积
F = bwareaopen(D1308); %根据上面统计的面积,结合图片,将面积小于130个像素点的区域删除。注意,这里存在一个大气泡和白细胞无法去除
[LN] = bwlabel(F8); %对处理后的图像重新进行连通标记
%figureimshow(F);
B = bwboundaries(F); %疑似红细胞边界提取
%*******************目标的坐标提取*****************************%
for g = 1:length(B)
boundary = B{g}; %依次提取每个目标的边界
Y = boundary(:1);
X = boundary(:2);
Ymax = max(Y); %疑似红细胞上边界
Ymin = min(Y); %疑似红细胞下边界
Xmax = max(X); %疑似红细胞左边界
Xmin = min(X); %疑似红细胞右边界
x(g) = floor((Xmax + Xmin)/2);%记录疑似红细胞的横坐标
y(g) = floor((Ymax + Ymin)/2);%记录疑似红细胞的纵坐标
end
%***********************目标提取******************************%
figureimshow(I);
for i = 1:g
rectangle(‘Position‘[x(i)-21 y(i)-21 42 42]...
‘edgecolor‘‘r‘‘LineWidth‘2);
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 131438 2018-07-21 13:00 红细胞提取\blood.jpg
文件 2451 2018-07-21 17:27 红细胞提取\blood.m
目录 0 2018-07-21 17:27 红细胞提取
----------- --------- ---------- ----- ----
133889 3
- 上一篇:LMS和RLS算法
- 下一篇:ROC曲线AUC计算
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论