#include <iostream>
#include <opencv2/opencv.hpp>
#define WITH 600
#define window1 "【原子图】"
#define window2 "【塔型图】"
using namespace cv;
using namespace std;
int main()
{
Mat image(WITH,WITH,CV_8UC3,Scalar(0,0,0));
circle(image,Point(WITH/2,WITH/2),10,Scalar(0,0,255),-1);
ellipse(image,Point(WITH/2,WITH/2),Size(WITH/4,WITH/16),0,0,360,Scalar(0,255,0),3);
ellipse(image,Point(WITH/2,WITH/2),Size(WITH/4,WITH/16),45,0,360,Scalar(0,255,0),3);
ellipse(image,Point(WITH/2,WITH/2),Size(WITH/4,WITH/16),90,0,360,Scalar(0,255,0),3);
ellipse(image,Point(WITH/2,WITH/2),Size(WITH/4,WITH/16),135,0,360,Scalar(0,255,0),3);
namedWindow(window1);
imshow(window1,image);
Point pp[1][15] = { Point(4. / 8. * WITH,1. / 8. * WITH),
Point(2. / 8 * WITH,2. / 8. * WITH),Point(3. / 8 * WITH,2. / 8. * WITH),
Point(3. / 8 * WITH,6. / 8 * WITH),Point(2. / 8 * WITH,6. / 8. * WITH),Point(2. / 8. * WITH,7. / 8. * WITH),
Point(1./8*WITH,7./8*WITH) ,Point(1. / 8 * WITH,WITH),Point(7. / 8 * WITH,WITH),
Point(7. / 8 * WITH,WITH * 7. / 8),Point(6. / 8 * WITH,7. / 8. * WITH),Point(6. / 8. * WITH,6. / 8. * WITH),
Point(5. / 8 * WITH,6. / 8 * WITH),Point(5. / 8 * WITH,2. / 8. * WITH),Point(6. / 8. * WITH,2. / 8. * WITH) };
const Point* px[] = {pp[0]};
const int np[] = { 15};
Mat image2(WITH, WITH, CV_8UC3, Scalar(2, 2, 0));
fillPoly(image2,px,np,1,Scalar(255,0,255),8);
line(image2,Point(3.5/8*WITH,3./8*WITH),Point(4.5/8*WITH,3./8*WITH),Scalar(255,255,0),3);
line(image2,Point(3.5/8*WITH,5./8*WITH),Point(4.5/8*WITH,5./8*WITH),Scalar(255,255,0),3);
line(image2,Point(3.5/8*WITH,3./8*WITH),Point(3.5/8*WITH,5./8*WITH),Scalar(255,255,0),3);
line(image2,Point(4.5/8*WITH,3./8*WITH),Point(4.5/8*WITH,5./8*WITH),Scalar(255,255,0),3);
line(image2,Point(4./8*WITH,5./8*WITH),Point(4./8*WITH,3./8*WITH),Scalar(255,255,0),3);
line(image2,Point(3.5/8*WITH,4./8*WITH),Point(4.5/8*WITH,4./8*WITH),Scalar(255,255,0),3);
line(image2,Point(3.5/8*WITH,3./8*WITH),Point(4.5/8*WITH,5./8*WITH),Scalar(255,255,0),3);
line(image2,Point(3.5/8*WITH,5./8*WITH),Point(4.5/8*WITH,3./8*WITH),Scalar(255,255,0),3);
imshow(window2,image2);
waitKey(0);
return 1;
}
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6dbeed27b53c3f2fe8f3c3fdd7fe7bda.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e53ea2c79d2cf8cb8b3c3988d9bb12c5.png)