做视觉检测的过程中,少不了对被检测对象进行注释,而注释的必要条件便是在图片上绘制原形、矩形、线条及字符。
程序:
#include <iostream>
#include <opencv2/highgui.hpp> // 说是说gui 具体什么gui 不清楚
#include <opencv2/imgcodecs.hpp> // 图像头文件
#include <opencv2/imgproc.hpp> // 图像处理头文件
using namespace std;
using namespace cv;
/// Draw shapes and text //
/// 画圆形,方形以及如何在图像上放置Text ///
/// 用以检测之后注明尺寸等多种功能/
int main()
{
// 创建空图像 Scalar-用以定义bgr
Mat img(512, 512, CV_8UC3,Scalar(255,255,255)); // CV_8UC3 的意思便为CV 0-255 个 bits C-channel 即三个频道 BGR
circle(img, Point(10, 10), 10, Scalar(0, 69, 255),1); //直径10 颜色为橙色 圆厚度为1
circle(img, Point(256, 256), 155, Scalar(0, 69, 255), FILLED); // 若使用 FILLED 代替 thiness 参量则会填充整个圆
rectangle(img, Point(130, 226), Point(382,286), Scalar(255,255,255), FILLED);
line(img, Point(130, 296), Point(382, 296), Scalar(255, 255, 255), 2);
// 放置Text 文本
putText(img, "Martaza's WorkShop", Point(137, 262), FONT_HERSHEY_PLAIN,1,Scalar(0, 69, 255), 1);
imshow("Image", img);
waitKey(0); // 延时,0即相当于无穷大
}
运行结果: