#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<memory>
using namespace std;
using namespace cv;
int main()
{
shared_ptr<Mat> image=make_shared<Mat>();
image->create(Size(256, 500), CV_8UC1);
cout<<"c:"<<image->cols<<endl;
image->setTo(0);
ellipse( *image.get(), Point( 10, 100 ), Size( 5, 5 ), 0, 0, 360, Scalar( 255), 2, 8 );
ellipse( *image.get(), Point( 20, 100 ), Size( 5, 5 ), 0, 0, 360, Scalar( 100), 2, 8 );
shared_ptr<Mat> image_3c=make_shared<Mat>();
image_3c->create(Size(256, 600), CV_8UC3); //3通道的图像
image_3c->setTo(255);
ellipse( *image_3c.get(), Point( 50, 100 ), Size( 5, 5 ), 0, 0, 360, Scalar( 0,255,0), 2, 8 );//green
ellipse( *image_3c.get(), Point( 100, 50 ), Size( 5, 5 ), 0, 0, 360, Scalar( 0,0,255), 2, 8 );//red
imshow("image", *image.get());
imshow("image_3c", *image_3c.get());
waitKey(0);
return 0;
}