将图片轮廓内的内容保存下来
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <string.h>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/core/core.hpp>
using namespace cv;
using namespace std;
int main(int argc,unsigned char* argv[]) //读取视频文件
{
Mat srcImg;
srcImg = imread("car.jpg");
Mat grayImg;
cvtColor(srcImg,grayImg,CV_BGR2GRAY);
medianBlur(grayImg,grayImg,5);
Mat threImg;
threshold(grayImg,threImg,150,255,CV_THRESH_OTSU+CV_THRESH_BINARY);
vector<vector<Point>> contours_set;//保存轮廓提取后的点集及拓扑关系
findContours(result0,contours_set,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE );
Mat result(img.size(),CV_8UC1,Scalar(0));
Mat img_masked;
drawContours(result,contours_set,-1,Scalar(255),CV_FILLED); //画轮廓,并填充
img.copyTo(img_masked, result); //将原图轮廓内的内容另外保存下来
imshow("in Contours",img_masked);
waitKey(10);
return 0;
}