首先是下面代码中将要使用的 r 矩阵的定义。需要注意,我们可以通过用 randu 函数产生的随机值来填充矩阵, 需要给定一个上限和下限来确保随机值在期望的范围内。

Mat r = Mat(2, 3, CV_8UC3);
randu(r, Scalar::all(0), Scalar::all(255));

1. OpenCV 默认格式

cout << "r [默认风格]is "<< endl << r << endl;

输出格式如下:

r [默认风格]is
[ 91,   2,  79, 179,  52, 205, 236,   8, 181;239,  26, 248, 207, 218,  45, 183, 158, 101]

2. Python 格式

// OpenCV3 以上版本
cout << "r [Python风格]is "<< endl << format(r, Formatter::FMT_PYTHON)<< endl;
// OpenCV2 版本
cout << "r [Python风格]is "<< endl << format(r, "python")<< endl;

输出格式如下:

r [Python风格]is
[[[ 91,   2,  79], [179,  52, 205], [236,   8, 181]],[[239,  26, 248], [207, 218,  45], [183, 158, 101]]]

3. CSV 格式

// OpenCV3 以上版本
cout << "r [逗号风格]is "<< endl << format(r, Formatter::FMT_CSV)<< endl;
// OpenCV2 版本
cout << "r [逗号风格]is "<< endl << format(r, "csv")<< endl;

输出结果:

r [逗号风格]is 91,   2,  79, 179,  52, 205, 236,   8, 181
239,  26, 248, 207, 218,  45, 183, 158, 101

4. NumPy 格式

// OpenCV3 以上版本
cout << "r [Numpy风格]is "<< endl << format(r, Formatter::FMT_NUMPY)<< endl;
// OpenCV2 版本
cout << "r [Numpy风格]is "<< endl << format(r, "numpy")<< endl;

输出结果:

r [Numpy风格]is
array([[[ 91,   2,  79], [179,  52, 205], [236,   8, 181]],[[239,  26, 248], [207, 218,  45], [183, 158, 101]]], dtype='uint8')

5. C 语言格式

// OpenCV3 以上版本
cout << "r [C 语言风格]is "<< endl << format(r, Formatter::FMT_C)<< endl;
// OpenCV2 版本
cout << "r [C 语言风格]is "<< endl << format(r, "C")<< endl;

输出结果:

r [C 语言风格]is
{ 91,   2,  79, 179,  52, 205, 236,   8, 181,239,  26, 248, 207, 218,  45, 183, 158, 101}

6. 完整代码

#include <iostream>
#include "opencv2/opencv.hpp"using namespace cv;
using namespace std;int main()
{Mat r = Mat(2, 3, CV_8UC3);randu(r, Scalar::all(0), Scalar::all(255));cout << "r [默认风格]is "<< endl << r << endl;cout << "r [Python风格]is "<< endl << format(r, Formatter::FMT_PYTHON)<< endl;cout << "r [逗号风格]is "<< endl << format(r, Formatter::FMT_CSV)<< endl;cout << "r [Numpy风格]is "<< endl << format(r, Formatter::FMT_NUMPY)<< endl;cout << "r [C 语言风格]is "<< endl << format(r, Formatter::FMT_C)<< endl;return 0;
}

OpenCV 笔记(07)— Mat 对象输出格式设置(Python 格式、CSV 格式、NumPy 格式、C 语言格式)相关推荐

  1. Opencv显示创建Mat对象的七种方式

    方式一: [cpp] view plain copy #include<iostream> #include<opencv2/opencv.hpp> using namespa ...

  2. python中ndarray对象_学习python的第二十二天(numpy模块(对矩阵的处理,ndarray对象)

    6.12自我总结 一.numpy模块 import numpy as np约定俗称要把他变成np 1.模块官方文档地址 2.创建矩阵 1.np.array import numpy as np #创建 ...

  3. python from numpy import,python zeros()使用(from numpy import *)-Go语言中文社区

    参考: ############################################################ 函数zeros()在模块numpy中: from numpy impo ...

  4. 一句代码将OpenCV的Mat对象的数据打印输出

    查看阵列的数据值在MATLAB和Python-Pycharm中是非常简单的. MATLAB直接在工作区查看即可,如下图所示: Python-Pycharm在调试时就可以看到阵列的内容,如下图所示: 但 ...

  5. c 语言字体怎么改,Notepad++设置字体语言格式方法介绍

    Notepad++设置字体语言格式方法介绍 一.在C源文件中字体的格式的设置 1.首先,点击菜单栏上的"设置"菜单,然后在弹出来的下拉列表中选择"语言格式设置" ...

  6. python写入csv乱码问题

    原代码: with open(csv_path, open_mode, newline='')as f:f_csv_write = csv.writer(f)f_csv_write.writerow( ...

  7. 【OpenCV入门学习笔记2】:Mat对象

    b站:https://www.bilibili.com/video/BV1uW411d7Wf?p=5 我在b站的学习笔记和实验代码的整理如下: 示例代码: Matdemo //------------ ...

  8. OpenCV 笔记(06)— Mat 结构、像素值存储方法、创建 Mat 对象各种方法、Mat 对象的运算

    数字图像中的每个点都称为像素(对于图像元素),并且每个像素可以存储一个或多个值,这取决于它是否是仅存储一个值的黑白图像(也称为二进制图像,比如只存储0或1),还是存储两个值的灰度图像,或者是存储三个值 ...

  9. OpenCV【零】—————cv::Mat——Mat对象创建方法

    OpenCV (一)--Mat对象创建方法 目录 OpenCV (一)--Mat对象创建方法 1. cv::Mat优点及原理(本质类) 2. Mat类拷贝及对象的创建方法 3. Mat 对象元素的高效 ...

最新文章

  1. 为什么类的下行转换是不安全的_类型转换
  2. 2020-11-5(安卓)
  3. java数据类型怎样理解_深入理解Java之数据类型
  4. 天天象棋 残局闯关 第1关
  5. Cocos2d-x--Box2D绘制出两个矩形框的解决方案
  6. MVC之AJAX异步提交表单
  7. 学习ccna,ccnp中如何提高英语问题
  8. c++ linux 线程等待与唤醒_Linux驱动程序基石-POLL机制(附.视频)
  9. MSSQL - SQL Server2008附加数据库失败 错误号:5120
  10. Ruby 获取 HTTP 回应的编码和内容
  11. JavaEE笔记(十)
  12. python 拼音输入法_用Python从0开始实现一个中文拼音输入法的思路详解
  13. jquery html 兼容ie8,IE浏览器 对 jquery版本的兼容性 支持
  14. 有关设计网站的收藏集合
  15. 快速低成本的组建Symbian团队(使用pys60)
  16. 中小银行数字普惠金融发展的思考和建议
  17. macbook电脑连接Wi-Fi网速慢
  18. 软件测试面试题大盘点,了解了这些你还怕啥,啥都不怕,面试官说就你了。
  19. 三菱FX3U编程口通信协议
  20. python的pandas库题1

热门文章

  1. 手动将jar包导入pom依赖,让jar包适配本地maven项目
  2. pip 升级之后提示 bash: /usr/bin/pip3: No such file or directory
  3. Anaconda3-5.0.1 输入ipython 出现 ImportError: cannot import name ‘create_prompt_application‘
  4. RSA、MD5等加密算法的区别和应用
  5. MYSQL局域网访问设置
  6. pytorch问题索引
  7. LeetCode简单题之数组元素积的符号
  8. RESTful风格及其SpringMVC实现
  9. MLPerf结果证实至强® 可有效助力深度学习训练
  10. 自然语言推理:微调BERT