格式化输出,可输出的类型(OpenCV案例源码cout_mat.cpp解读)
格式化输出风格: OpenCV, matlab, python, numpy, csv 和 C 风格
可输出的类型:矩阵、点(二维、三维)、图、容器
#include <opencv2/opencv.hpp> #include <iostream> using namespace std; using namespace cv; int main() { //单位矩阵,主对角线是1 Mat I = Mat::eye(4, 4, CV_64F); I.at<double>(1,1) = CV_PI;//第2行2列的值赋值为PI cout << "I = \n" << I << ";" << endl << endl; //图 Mat r = Mat(10, 3, CV_8UC3);//10*3的3通道矩阵 randu(r, Scalar::all(0), Scalar::all(255));//元素被赋值[0,255)随机值 cout << "默认风格= \n" << r << ";" << endl << endl; cout << "matlab风格= \n" << format(r, Formatter::FMT_MATLAB) << ";" << endl << endl; cout << "python风格= \n" << format(r, Formatter::FMT_PYTHON) << ";" << endl << endl; cout << "numpy风格= \n" << format(r, Formatter::FMT_NUMPY) << ";" << endl << endl; cout << "csv风格= \n" << format(r, Formatter::FMT_CSV) << ";" << endl << endl; cout << "c风格= \n" << format(r, Formatter::FMT_C) << ";" << endl << endl; //二维点 Point2f p(5, 1); cout << "p = " << p << ";" << endl; //二维点对象的容器,20个点 vector<Point2f> points(20); for (size_t i = 0; i < points.size(); ++i) points[i] = Point2f((float)(i * 5), (float)(i % 7));//横坐标是5的倍数,纵坐标是7的余数 cout << "points = " << points << ";" << endl; //浮点型对象的容器,元素是1,2,3 vector<float> v; v.push_back(1); v.push_back(2); v.push_back(3); cout << "shortvec = " << Mat(v) << endl; return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!