- 形态学操作:腐蚀与膨胀,开闭操作
- 基于浸泡理论的分水岭分割方法
基于连通图的方法
基于距离变换的方法
- 分割粘连对象,实现形态学操作与对象计数
图像分割
- 流程:
输入图像、灰度、二值、距离变换、寻找种子、生成Marker、分水岭变化、输出图像
- 粘连对象分离与计数
distanceTransform
watershed
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
RNG rng;
Mat src,gray,Mean_Shift,temp_threshold,temp_distance, makers_temp_contours,dst;
src = imread("../path.jpg");
if (src.empty())
{
cout << "could not load image..." << endl;
return -1;
}
namedWindow("src", WINDOW_AUTOSIZE);
imshow("src", src);
pyrMeanShiftFiltering(src, Mean_Shift, 21, 51);
cvtColor(Mean_Shift, gray, COLOR_BGR2GRAY);
threshold(gray,temp_threshold,0,255, THRESH_BINARY | THRESH_OTSU);