Files
cDNA-image-processing/参考资料/NewGridAndCV/choosemaxobj.m
T
Serendipity b8a8ff2bc6 feat: cDNA微阵列图像处理作业 - Python实现
实现内容:
- 网格划分:投影分析 + 自相关估周期 + 白顶帽去背景 + 质心提取
- 三种阈值分割:人工阈值、Otsu自动阈值、迭代阈值
- TV去噪(Chambolle投影算法)
- 后处理:去小连通域 + 保留最大连通域
- 完整可视化:网格叠加、阈值对比、收敛曲线、分割结果

参考MATLAB代码:NewGridAndCV/demo_GriddingAndCV.m
2026-05-06 19:41:26 +08:00

33 lines
640 B
Matlab

function Lnew=choosemaxobj(L_old,night)
%%从二值图像里面利用4,8邻域提取出面积最大的物体,标记为二值图
%%标注
L = bwlabel(L_old,night);
%%提取物体属性
STATS = regionprops(L,'Area');
%%提取面积数组
area=[STATS.Area];
area_max=max(area);
if area_max>20 %设定20为最小的值,面积小于20的点,去掉
%%确定面积最大物体的编号
area_num=find(area==area_max);
%%逻辑判断,面积最大的物体保留
if(length(area_num)>1)
Lnew=(L==area_num(1,1));
else
Lnew=(L==area_num);
end
else
Lnew=0;
end
% LL = bwlabel(Lnew,8);
% %%提取物体属性
% STATSLnew = regionprops(LL,'Area');
% %%提取面积数组
% areanew=[STATSLnew.Area]