matlab - 使用 Matlab 从数字病理图像中分割染色细胞
问题描述
我正在尝试从原始图像中分割彩色单元格,如下所示:
蓝色单元格是我要分割和计数的目标。
这是我使用的代码:
global ButtonDown
img=imread('Zoom.png');
hsv=rgb2hsv(img);
s=hsv(:,:,2);
bw = imbinarize(s,graythresh(s));
figure
imshow(bw)
se=strel('disk',5);
bw2=imclose(bw,se);
bw3=bwareaopen(bw2,200);
figure
imshow(bw3);
D=-bwdist(~bw3);
mask=imextendedmin(D,2);
D2=imimposemin(D,mask);
Ld=watershed(D);
Water_splited=bw3;
Water_splited(Ld==0)=0;
%axes(handles.axes1);
show_img=Water_splited;
figure
imshow(show_img)
if ButtonDown == 1
pos = get(handles.axes1, 'CurrentPoint');
row=floor(pos(1,2));
col=floor(pos(1,1));
Diy_splited=show_img;
Diy_splited(row,col)=0;
show_img=Diy_splited;
axes(handles.axes1);
imshow(show_img);
end
我使用分水岭算法来分割贴壁细胞,但是,发生了过度分割。
结果是:
那么如何避免这种过度分割的问题呢?
解决方案
推荐阅读
- linux - sudo 访问授权主体
- celery - 如何防止 celery.backend_cleanup 在默认队列中执行
- ios - 使用放大镜时显示不正确
- javascript - Flask 中的请求返回空数据
- database - 我应该使用哪种统计模型/方法从空间数据集中采样最佳示例?
- google-apps-script - Google Sheets Script:使用数据制作新标签并将匹配信息导出到新标签
- python - 如何将“if”语句的结果添加到字典中
- postgresql - 有没有办法按字段名称删除索引
- fortran - Flang 中的 SIZEOF() 扩展
- github - 在 Linux 上使用 Github-actions dotnet 5 执行测试失败