opencv画图实现化学原子模型图
先放效果图
宏定义
#define WINDOW_WIDTH 600
#define WINDOW_NAME1 "【绘制图1】"
- CMakeLists.txt文件配置
cmake_minimum_required(VERSION 3.14)
project(test1)
set(CMAKE_CXX_STANDARD 14)
add_executable(test1 main.cpp)
find_package(OpenCV)
include_directories(${
OpenCV_INCLUDE_DIRS})
target_link_libraries(test1 ${
OpenCV_LIBS})
- 椭圆函数DrawEllipse()写法
void DrawEllipse(Mat img,double angle)
{
int thick=2;
int line=8;
ellipse(img,Point(WINDOW_WIDTH/2,WINDOW_WIDTH/2),Size(WINDOW_WIDTH/4,
WINDOW_WIDTH/16),angle,0,360,Scalar(255,129,0),thick,line);
}
- 原点函数DrawFilledCircle()写法
void DrawFilledCircle(Mat img,Point center)
{
int thick=-1;
int line=8;
circle(img,center,WINDOW_WIDTH/32,Scalar(0,0,255),thick,line);
}
- main()函数写法
int main(int argc,char** argv)
{
Mat atomImage=Mat::zeros(WINDOW_WIDTH,WINDOW_WIDTH,CV_8UC3);
DrawEllipse(atomImage,90);
DrawEllipse(atomImage,0);
DrawEllipse(atomImage,45);
DrawEllipse(atomImage,-45);
DrawFilledCircle(atomImage,Point(WINDOW_WIDTH/2,WINDOW_WIDTH/2));
imshow(WINDOW_NAME1,atomImage);
moveWindow(WINDOW_NAME1,0,200);
waitKey();
return 0;
}