用途:OpenCV(cv2)提供基于 C++ 的高效图像处理例程,用于生物图像的预处理、分割、特征提取与视频分析。在生命科学中常用于荧光图像增强(背景扣除、CLAHE)、形态学分割(分水岭、轮廓检测)、明场细胞检测以及实时显微流处理。与偏重科学测量的 scikit-image 不同,OpenCV 更强调计算速度与视频支持,适合预处理流水线和实时成像应用。
主要能力:图像读写与颜色空间转换(BGR/RGB/HSV/灰度,IMREAD_UNCHANGED 保留 16 位);滤波与增强(GaussianBlur、medianBlur、CLAHE、顶帽滤波);阈值与二值分割(Otsu、自适应阈值,16 位需先归一化);轮廓检测与测量(contourArea、arcLength、boundingRect、minEnclosingCircle、moments);形态学操作(开闭运算、膨胀、距离变换生成分水岭种子);视频处理(VideoCapture、MOG2 背景建模、光流)。
使用方式:安装 pip install opencv-python,需要 SIFT/SURF 等扩展模块时用 pip install opencv-contrib-python,验证 python -c "import cv2; print(cv2.version)"。典型流程为读取图像、预处理、阈值分割、形态学清理、findContours 测量并导出为 DataFrame/CSV。
适用场景:荧光或明场图像预处理、无深度学习的经典细胞轮廓/斑点/边缘检测、活细胞成像视频流实时处理、模板匹配寻找重复结构、掩膜细化、帧间光流细胞追踪。
限制:科学形态测量、regionprops 与 TIFF 元数据读写建议改用 scikit-image;荧光图像深度学习细胞分割建议用 Cellpose 或 StarDist。注意 OpenCV 使用 BGR 顺序,GaussianBlur 核必须为奇数,16 位图像直接按灰度读取会被截断,大图逐像素循环较慢,应使用向量化 NumPy 或 cv2.cuda。其余细节暂未提供。