如何做授权网站,搞软件开发工资高吗,html5博客网站源码,wordpress 显示文章作者操作系统#xff1a;ubuntu22.04OpenCV版本#xff1a;OpenCV4.9IDE:Visual Studio Code编程语言#xff1a;C11
功能描述
我们可以这样使用#xff1a;cv::Mat M(…); cout M;#xff0c;直接将矩阵内容输出到控制台。 输出格式支持多种风格#xff0c;包括O…操作系统ubuntu22.04OpenCV版本OpenCV4.9IDE:Visual Studio Code编程语言C11
功能描述
我们可以这样使用cv::Mat M(…); cout M;直接将矩阵内容输出到控制台。 输出格式支持多种风格包括OpenCV的原生格式、MATLAB风格、Python风格、NumPy风格、CSV格式以及C语言风格等。
用到的函数
Mat::eye
cv::Mat::eye 是一个静态方法用于创建一个单位矩阵对角线上的元素为1其余位置为0的 cv::Mat 对象。这个方法使得初始化一个单位矩阵变得简单快捷。
原型
cv::Mat eye(int rows, int cols, int type CV_64F);参数
rows指定创建矩阵的行数。cols指定创建矩阵的列数。type可选参数指定了矩阵的数据类型默认为 CV_64F即64位浮点型。你可以根据需要选择其他类型如 CV_8U 表示无符号8位整型CV_32F 表示32位浮点型等。
示例
cv::Mat identityMatrix cv::Mat::eye(3, 3, CV_32F);这段代码将创建一个3x3的浮点型单位矩阵。
函数Mat::Mat( int rows, int cols, int type )
使用 cv::Mat 的构造函数来初始化一个矩阵
原型
cv::Mat::Mat(int rows, int cols, int type);参数
int rows: 指定矩阵的行数。这是一个整数值表示矩阵的高度。int cols: 指定矩阵的列数。同样是一个整数值表示矩阵的宽度。int type: 确定矩阵中元素的数据类型以及对于多通道数组而言通道数。这个参数是关键因为它定义了矩阵中每个元素是如何存储的。类型编码遵循OpenCV的类型系统常见的类型有 CV_8U: 无符号8位整数uchar0-255 CV_8S: 有符号8位整数char-128到127 CV_16U: 无符号16位整数 CV_16S: 有符号16位整数 CV_32S: 有符号32位整数 CV_32F: 32位浮点数float CV_64F: 64位双精度浮点数double 对于多通道数组如RGB图像在上述类型后面加上Cn其中n表示通道数。例如CV_8UC3 表示无符号8位3通道常用作BGR图像。因此type 参数不仅指定了数据类型还隐含了数组是否为多通道以及通道数。
randu函数
生成单个均匀分布的随机数或随机数数组。
此非模板函数变体将矩阵dst填充来自指定范围的均匀分布随机数 low c ≤ dst ( I ) c high c \texttt{low} _c \leq \texttt{dst} (I)_c \texttt{high} _c lowc≤dst(I)chighc
参数
-参数 dst 输出随机数数组该数组必须预先分配. -参数 low 生成随机数的包含下限. -参数 high 生成随机数的不包含上限.
代码示例
/***该程序演示了cv::Mat类的串行输出功能*也就是说你现在可以这样使用cv::Mat M(...); cout M;直接将矩阵内容输出到控制台。*输出格式支持多种风格包括OpenCV的原生格式、MATLAB风格、Python风格、NumPy风格、CSV格式以及C语言风格等。**/#include opencv2/core.hpp
#include iostream
using namespace std;
using namespace cv;int main( int argc, char** argv )
{Mat I Mat::eye( 4, 4, CV_64F );I.at double ( 1, 1 ) CV_PI;cout I \n I ; endl endl;Mat r Mat( 10, 3, CV_8UC3 );randu( r, Scalar::all( 0 ), Scalar::all( 255 ) );cout r (默认风格) \n r ; endl endl;cout r (matlab风格) \n format( r, Formatter::FMT_MATLAB ) ; endl endl;cout r (python风格) \n format( r, Formatter::FMT_PYTHON ) ; endl endl;cout r (numpy风格) \n format( r, Formatter::FMT_NUMPY ) ; endl endl;cout r (csv风格) \n format( r, Formatter::FMT_CSV ) ; endl endl;cout r (c风格) \n format( r, Formatter::FMT_C ) ; endl endl;Point2f p( 5, 1 );cout p p ; endl;Point3f p3f( 2, 6, 7 );cout p3f p3f ; endl;vector float v;v.push_back( 1 );v.push_back( 2 );v.push_back( 3 );cout shortvec Mat( v ) endl;vector Point2f points( 20 );for ( size_t i 0; i points.size(); i )points[ i ] Point2f( ( float )( i * 5 ), ( float )( i % 7 ) );cout points points ; endl;return 0;
}运行结果
I
[1, 0, 0, 0;0, 3.141592653589793, 0, 0;0, 0, 1, 0;0, 0, 0, 1];r (默认风格)
[ 91, 2, 79, 179, 52, 205, 236, 8, 181;239, 26, 248, 207, 218, 45, 183, 158, 101;102, 18, 118, 68, 210, 139, 198, 207, 211;181, 162, 197, 191, 196, 40, 7, 243, 230;45, 6, 48, 173, 242, 125, 175, 90, 63;90, 22, 112, 221, 167, 224, 113, 208, 123;214, 35, 229, 6, 143, 138, 98, 81, 118;187, 167, 140, 218, 178, 23, 43, 133, 154;150, 76, 101, 8, 38, 238, 84, 47, 7;117, 246, 163, 237, 69, 129, 60, 101, 41];r (matlab风格)
(:, :, 1) 91, 179, 236;
239, 207, 183;
102, 68, 198;
181, 191, 7;45, 173, 175;90, 221, 113;
214, 6, 98;
187, 218, 43;
150, 8, 84;
117, 237, 60
(:, :, 2) 2, 52, 8;26, 218, 158;18, 210, 207;
162, 196, 243;6, 242, 90;22, 167, 208;35, 143, 81;
167, 178, 133;76, 38, 47;
246, 69, 101
(:, :, 3) 79, 205, 181;
248, 45, 101;
118, 139, 211;
197, 40, 230;48, 125, 63;
112, 224, 123;
229, 138, 118;
140, 23, 154;
101, 238, 7;
163, 129, 41;r (python风格)
[[[ 91, 2, 79], [179, 52, 205], [236, 8, 181]],[[239, 26, 248], [207, 218, 45], [183, 158, 101]],[[102, 18, 118], [ 68, 210, 139], [198, 207, 211]],[[181, 162, 197], [191, 196, 40], [ 7, 243, 230]],[[ 45, 6, 48], [173, 242, 125], [175, 90, 63]],[[ 90, 22, 112], [221, 167, 224], [113, 208, 123]],[[214, 35, 229], [ 6, 143, 138], [ 98, 81, 118]],[[187, 167, 140], [218, 178, 23], [ 43, 133, 154]],[[150, 76, 101], [ 8, 38, 238], [ 84, 47, 7]],[[117, 246, 163], [237, 69, 129], [ 60, 101, 41]]];r (numpy风格)
array([[[ 91, 2, 79], [179, 52, 205], [236, 8, 181]],[[239, 26, 248], [207, 218, 45], [183, 158, 101]],[[102, 18, 118], [ 68, 210, 139], [198, 207, 211]],[[181, 162, 197], [191, 196, 40], [ 7, 243, 230]],[[ 45, 6, 48], [173, 242, 125], [175, 90, 63]],[[ 90, 22, 112], [221, 167, 224], [113, 208, 123]],[[214, 35, 229], [ 6, 143, 138], [ 98, 81, 118]],[[187, 167, 140], [218, 178, 23], [ 43, 133, 154]],[[150, 76, 101], [ 8, 38, 238], [ 84, 47, 7]],[[117, 246, 163], [237, 69, 129], [ 60, 101, 41]]], dtypeuint8);r (csv风格) 91, 2, 79, 179, 52, 205, 236, 8, 181
239, 26, 248, 207, 218, 45, 183, 158, 101
102, 18, 118, 68, 210, 139, 198, 207, 211
181, 162, 197, 191, 196, 40, 7, 243, 23045, 6, 48, 173, 242, 125, 175, 90, 6390, 22, 112, 221, 167, 224, 113, 208, 123
214, 35, 229, 6, 143, 138, 98, 81, 118
187, 167, 140, 218, 178, 23, 43, 133, 154
150, 76, 101, 8, 38, 238, 84, 47, 7
117, 246, 163, 237, 69, 129, 60, 101, 41
;r (c风格)
{ 91, 2, 79, 179, 52, 205, 236, 8, 181,239, 26, 248, 207, 218, 45, 183, 158, 101,102, 18, 118, 68, 210, 139, 198, 207, 211,181, 162, 197, 191, 196, 40, 7, 243, 230,45, 6, 48, 173, 242, 125, 175, 90, 63,90, 22, 112, 221, 167, 224, 113, 208, 123,214, 35, 229, 6, 143, 138, 98, 81, 118,187, 167, 140, 218, 178, 23, 43, 133, 154,150, 76, 101, 8, 38, 238, 84, 47, 7,117, 246, 163, 237, 69, 129, 60, 101, 41};p [5, 1];
p3f [2, 6, 7];
shortvec [1;2;3]
points [0, 0;5, 1;10, 2;15, 3;20, 4;25, 5;30, 6;35, 0;40, 1;45, 2;50, 3;55, 4;60, 5;65, 6;70, 0;75, 1;80, 2;85, 3;90, 4;95, 5];