所需新函数:
1.cvtColor(inputArray,OutputArray,Code)
将第一个参数的矩阵转变赋值给第二个参数矩阵,转换方式很多种。
2.imwrite(filename,img)
把第二个参数(矩阵)储存为第一个文件。
(绘图:)
3.circle(image,Point(_),length,color,thick)
(目标,中心点坐标,半径,颜色,厚度)
4.putText(图像,文本,位置,字体,大小,颜色,厚度)
出现问题:
R6010 -abort() has been called:
https://blog.csdn.net/qingzai_/article/details/44244595
由于在存储时没有加文件格式(jpg)导致报错。
#include "opencv2/imgcodecs/legacy/constants_c.h"
#include <opencv2/highgui/highgui_c.h>
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc,char** argv)
{
argv[1] = "C:\\god_of_shi.jpg";
Mat image;
image = imread(argv[1],CV_LOAD_IMAGE_COLOR);
if (!image.data)
{
cout << "无法打开" << std::endl;
return -1;
}
Mat gray_image;
//转换为灰度图
cvtColor(image, gray_image, CV_BGR2GRAY);
//储存转换后的图像(gray_image)
imwrite("C:\\god_gray.jpg", gray_image);
namedWindow("图片", CV_WINDOW_NORMAL);
namedWindow("灰度图", CV_WINDOW_NORMAL);
//绘图
circle(image, Point(155, 110), 65, (0, 0, 255), 3);
putText(image, "god_of_shi", Point(40, 200), FONT_HERSHEY_PLAIN, 2.0, (0, 255, 0), 2);
imshow("图片", image);//用“图片”窗口加载image
imshow("灰度图", gray_image);
waitKey(0);
return 0;
}