一、图像几何形状绘制
using namespace std;
using namespace cv;
class QuickDemo
{
public:
void draw_demo(Mat& image)
{
Rect rect;
rect.x = 100;
rect.y = 100;
rect.width = 100;
rect.height = 100;
rectangle(image, rect, Scalar(0, 0, 255),-1,8,0);
circle(image, Point(300, 300), 30, Scalar(0, 0, 255), 2, 8, 0);
Mat bg = Mat::zeros(image.size(), image.type());
circle(bg, Point(500, 500), 100, Scalar(0, 0, 255), -1, 8, 0);
Mat dst;
addWeighted(image, 0.7,bg,0.3,0, dst);
line(bg, Point(100,100), Point(350, 400), Scalar(0, 0, 255), 2, 8, 0);
RotatedRect rrt;
rrt.center = Point(200, 200);
rrt.size = Size(100,200);
rrt.angle = 0.0;
ellipse(bg, rrt, Scalar(0, 0, 255),2,8);
imwrite("data/bg.bmp", bg);
}
};
int main()
{
Mat src = imread("data/right.bmp");
if (src.empty())
{
cout << "load image error !" << endl;
}
QuickDemo qd;
qd.draw_demo(src);
}