使用高斯混合模型(GMM)分割图像

本文介绍了如何使用C++和OpenCV的高斯混合模型(GMM)进行图像分割。通过GMM聚类原理,将图像像素点值(如BGR)作为聚类元素,实现图像分割。示例代码展示了实际效果,并指出可以拓展到其他颜色参数或参数组合以处理更复杂的分割任务。
摘要由CSDN通过智能技术生成

使用C++、opencv中的高斯混合模型(GMM)进行图像分割

关于GMM聚类的原理及过程可参考博客:https://blog.csdn.net/lin_limin/article/details/81048411

使用聚类的方法分割图像,即将图像的像素点值(通常用彩色图像,像素点值为一个三元数组(b,g,r))作为聚类的元素,从而将图像中所有的点分为n类,达到分割的效果。

代码:

#include "stdafx.h"
#include<opencv2\opencv.hpp>
#include <iostream>
using namespace cv;
using namespace ml;

int main(int arc, char** argv) 
{
	Mat src = imread("C:/Users/lenovo/Desktop/1.jpg");
	namedWindow("input", WINDOW_NORMAL);
	imshow("input", src);

	int width = src.cols;
	int height = src.rows;
	int dims = src.channels();
	int pointsCount = width * height;

	Mat points(pointsCount, dims, CV_64FC1);
	Mat labels;
	//Scalar color[] = { Scalar(0,0,255), Scalar(0,255,0), S
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值