【OpenCV】基于kmeans的细胞检测方法
- 通过图像形态学的处理erode,将一些邻接的细胞分离开来,并减少单个像素的噪声干扰
- 计算其中的连通域
- 计算每一个连通域的面积
- 根据面积计算其中的聚类,其中聚类算法采用kmeans,其中k,由用户设定
- 根据聚类的情况计算其中细胞数
import cv2
from numpy import *
from scipy.cluster.vq import * img=cv2.imread('FigProb9.27.jpg',0)
kernel=cv2.getStructuringElement(cv2.MORPH_CROSS,(3,3))
img=cv2.erode(img,kernel,iterations=5)
contour,h=cv2.findContours(img,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)
cv2.drawContours(img,contour,-1,(255,0,0),1)
cv2.imshow('img',img) ContourArea=[]
for cnt in contour:
Area=cv2.contourArea(cnt)
ContourArea.append(Area)
ContourArea=array(ContourArea)
ContourArea=ContourArea[ContourArea>20]
#print len(ContourArea)
# print ContourArea
# print min(ContourArea)
# print max(ContourArea)
# print average(ContourArea)
#print sort(ContourArea)
centroid,dis=kmeans(ContourArea,5)#calculate 5 cluster
label,dis=vq(ContourArea,sort(centroid))#calculate label in 5 cluster
clusterNum=[]#the amount cluster
classNum=[]#the total amount cell in this kind of cluster
for i in range(len(label)):
clusterNum.append(len(label[label==i]))
classNum.append(clusterNum[i]*(i+1)) print ("In picture,we can see Total amount of cell is %d.\n ")%(sum(classNum))
print("%d in one;%d in two;%d in three;%d in four;%d in five.")%(classNum[0],classNum[1],classNum[2],classNum[3],classNum[4])
cv2.waitKey()
【OpenCV】基于kmeans的细胞检测方法的更多相关文章
- opencv:基于颜色空间的肤色检测方法
参考链接:https://www.cnblogs.com/skyfsm/p/7868877.html
- 小白日记39:kali渗透测试之Web渗透-SQL手工注入(一)-检测方法
SQL手工注入(一) SQL注入:通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.[SQL注入原理] ##服务端程序将用户输入参数作为查询 ...
- 异常值检测方法(Z-score,DBSCAN,孤立森林)
机器学习_深度学习_入门经典(博主永久免费教学视频系列) https://study.163.com/course/courseMain.htm?courseId=1006390023&sh ...
- 人脸检测学习笔记(数据集-DLIB人脸检测原理-DLIB&OpenCV人脸检测方法及对比)
1.Easily Create High Quality Object Detectors with Deep Learning 2016/10/11 http://blog.dlib.net/201 ...
- AIOps探索:基于VAE模型的周期性KPI异常检测方法——VAE异常检测
AIOps探索:基于VAE模型的周期性KPI异常检测方法 from:jinjinlin.com 作者:林锦进 前言 在智能运维领域中,由于缺少异常样本,有监督方法的使用场景受限.因此,如何利用无监 ...
- 基于YOLO-V2的行人检测(自训练)附pytorch安装方法
声明:本文是别人发表在github上的项目,并非个人原创,因为那个项目直接下载后出现了一些版本不兼容的问题,故写此文帮助解决.(本人争取在今年有空的时间,自己实现基于YOLO-V4的行人检测) 项目链 ...
- 【目标检测】基于传统算法的目标检测方法总结概述 Viola-Jones | HOG+SVM | DPM | NMS
"目标检测"是当前计算机视觉和机器学习领域的研究热点.从Viola-Jones Detector.DPM等冷兵器时代的智慧到当今RCNN.YOLO等深度学习土壤孕育下的GPU暴力美 ...
- OpenCV 学习笔记 07 目标检测与识别
目标检测与识别是计算机视觉中最常见的挑战之一.属于高级主题. 本章节将扩展目标检测的概念,首先探讨人脸识别技术,然后将该技术应用到显示生活中的各种目标检测. 1 目标检测与识别技术 为了与OpenCV ...
- 综述 | SLAM回环检测方法
本文作者任旭倩,公众号:计算机视觉life成员,由于格式原因,公式显示可能出问题,建议阅读原文链接:综述 | SLAM回环检测方法 在视觉SLAM问题中,位姿的估计往往是一个递推的过程,即由上一帧位姿 ...
随机推荐
- php实现手机拍照上传头像功能
现在手机拍照很火,那么如何使用手机拍照并上传头像呢?原因很简单,就是数据传递,首先手机传递照片信息,这个就不是post传递 也不是get函数传递, 这个另外一种数据格式传递,使用的是$GLOBALS ...
- GitHub使用教程for Eclipse
1.下载egit插件http://www.eclipse.org/egit/ http://www.eclipse.org/egit/download/ Installing the Latest R ...
- 普及下Oracle hints语法
普及下Oracle hints的语法:{DELETE|INSERT|SELECT|UPDATE} /*+ hint [text] [hint[text]]... */ 1.hint只能出现在诸如sel ...
- mvc4 membership, [Win32Exception (0x80004005): The system cannot find the file specified]
public class UsersContext : DbContext { public UsersContext() : base("conn1") //change the ...
- 定位- CLGeoencoder - 反编码
#import "ViewController.h" #import "MBProgressHUD+MJ.h" #import <CoreLocation ...
- ipad ------ 与iPhone的差别
1. 差异 iPhone是手机,iPad.iPad Mini是平板电脑 iPhone和iPad开发的区别 屏幕的尺寸 \分辨率 UI元素的排布 \设计 键盘 API 屏幕方向的支持 … … 2. iP ...
- Android 连接tomcat模拟登陆账号
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...
- 【Xamarin挖墙脚系列:Xamarin的核心】
原文:[Xamarin挖墙脚系列:Xamarin的核心] Xamarin 包含两个商业产品 :Xamarin.IOS, Xamarin.Android.他们都是通过开源的基于.Net的Mono项目构建 ...
- Android UI 设计准则
Design Principles 设计准则 These design principles were developed by and for the Android User Experienc ...
- 使用API网关构建微服务
使用传统的异步回调方法编写API组合代码会让你迅速坠入回调地狱.代码会变得混乱.难以理解且容易出错.一个更好的方法是使用响应式方法以一种声明式样式编写API网关代码.响应式抽象概念的例子有Scala中 ...