利用染色剂将细胞染色,鉴别死活细胞时,可用以下代码,有注释,供大家分享。
代码:
img=imread('cell.jpg');%读入命名为cell的照片hsv=rgb2hsv(img);%将照片转化为灰度值照片
s=hsv(:,:,2);%图片S的RGB
bw=im2bw(s,graythresh(s));%将灰度图像转化为二值图像
se=strel('disk',5);%利用strel函数创建一个半径为5mm的圆
bw2=imclose(bw,se);%闭操作imclose通常消弥狭窄的间断和长细的鸿沟,消除小的空洞,并填补轮廓线中的断裂。
bw3=bwareaopen(bw2,200);%bwareaopen函数删除二值图像bw2中面积小于200mm2的对象,默认情况下使用8邻域。
imshow(bw3);%显示图片bw3
perim=bwperim(bw3);%从输入图像bw3中返回只包括对象边缘像素点的图像
r=img(:,:,1);%红色分量图像
g=img(:,:,2);%绿色分量图像
b=img(:,:,3);%蓝色分量图像
r(perim)=255;%边缘像素红色分量为255,即边缘颜色是绿色
g(perim)=0;%边缘像素绿色分量为0
b(perim)=0;%边缘像素蓝色分量为0
img(:,:,1)=r;%原图与效果图对比红色分量
img(:,:,2)=g;%原图与效果图对比绿色分量
img(:,:,3)=b;%原图与效果图对比蓝色分量
imshow(img)%显示照片