OpenCV 笔记(07)— Mat 对象输出格式设置(Python 格式、CSV 格式、NumPy 格式、C 语言格式)
生活随笔
收集整理的這篇文章主要介紹了
OpenCV 笔记(07)— Mat 对象输出格式设置(Python 格式、CSV 格式、NumPy 格式、C 语言格式)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
首先是下面代碼中將要使用的 r 矩陣的定義。需要注意,我們可以通過用 randu 函數(shù)產(chǎn)生的隨機(jī)值來填充矩陣, 需要給定一個(gè)上限和下限來確保隨機(jī)值在期望的范圍內(nèi)。
Mat r = Mat(2, 3, CV_8UC3);
randu(r, Scalar::all(0), Scalar::all(255));
1. OpenCV 默認(rèn)格式
cout << "r [默認(rèn)風(fēng)格]is "<< endl << r << endl;
輸出格式如下:
r [默認(rèn)風(fēng)格]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風(fēng)格]is "<< endl << format(r, Formatter::FMT_PYTHON)<< endl;
// OpenCV2 版本
cout << "r [Python風(fēng)格]is "<< endl << format(r, "python")<< endl;
輸出格式如下:
r [Python風(fēng)格]is
[[[ 91, 2, 79], [179, 52, 205], [236, 8, 181]],[[239, 26, 248], [207, 218, 45], [183, 158, 101]]]
3. CSV 格式
// OpenCV3 以上版本
cout << "r [逗號(hào)風(fēng)格]is "<< endl << format(r, Formatter::FMT_CSV)<< endl;
// OpenCV2 版本
cout << "r [逗號(hào)風(fēng)格]is "<< endl << format(r, "csv")<< endl;
輸出結(jié)果:
r [逗號(hào)風(fēng)格]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風(fēng)格]is "<< endl << format(r, Formatter::FMT_NUMPY)<< endl;
// OpenCV2 版本
cout << "r [Numpy風(fēng)格]is "<< endl << format(r, "numpy")<< endl;
輸出結(jié)果:
r [Numpy風(fēng)格]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 語言風(fēng)格]is "<< endl << format(r, Formatter::FMT_C)<< endl;
// OpenCV2 版本
cout << "r [C 語言風(fēng)格]is "<< endl << format(r, "C")<< endl;
輸出結(jié)果:
r [C 語言風(fēng)格]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 [默認(rèn)風(fēng)格]is "<< endl << r << endl;cout << "r [Python風(fēng)格]is "<< endl << format(r, Formatter::FMT_PYTHON)<< endl;cout << "r [逗號(hào)風(fēng)格]is "<< endl << format(r, Formatter::FMT_CSV)<< endl;cout << "r [Numpy風(fēng)格]is "<< endl << format(r, Formatter::FMT_NUMPY)<< endl;cout << "r [C 語言風(fēng)格]is "<< endl << format(r, Formatter::FMT_C)<< endl;return 0;
}
總結(jié)
以上是生活随笔為你收集整理的OpenCV 笔记(07)— Mat 对象输出格式设置(Python 格式、CSV 格式、NumPy 格式、C 语言格式)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022-2028年中国瓷砖粘结剂行业市
- 下一篇: 2022-2028年中国中空玻璃聚硫密封