用图像分割之最大连通域算法得到最大轮廓矩形框,再使用grabcut分割:
#include<opencv2\opencv.hpp>#include<cmath>
using namespace cv;
using namespace std;
int main()
{
Mat srcImage = imread( "test_image.png" ,0);
if( !srcImage.data )
{
cout << "读取失败" << endl;
return 0;
}
namedWindow( "原始图", CV_WINDOW_NORMAL );
imshow( "原始图" , srcImage );
Mat dstImage;
// threshold只针对二值化图像
threshold( srcImage , dstImage ,228.0 , 255.0 ,CV_THRESH_BINARY|CV_THRESH_OTSU );
namedWindow( "dstImage", CV_WINDOW_NORMAL );
imshow( "dstImage" , dstIm