【3】opencv里的Mat操作
链接处:
关于矩阵的通道与位深度的讲解:
https://www.cnblogs.com/long5683/p/9664787.html
关于opencv中各种属性的理解:
https://blog.csdn.net/daaizjh/article/details/81053165
#include <opencv2/opencv.hpp> #include <iostream> using namespace std; int main() { cv::Mat MKG_1; MKG_1 = cv::imread("001.png"); if (MKG_1.empty()) { cout << "ERROR" << endl; return -1; } cv::namedWindow("SHOW"); imshow("SHOW", MKG_1); cv::waitKey(100); /*.size 和.type的运用*/ cv::Mat MKG_2; MKG_2 = cv::Mat(MKG_1.size(), MKG_1.type()); MKG_2 = cv::Scalar(127, 0, 0); imshow("SHOW", MKG_2); cv::waitKey(100); cv::Mat MKG_3; MKG_3 = MKG_1.clone(); cv::namedWindow("SHOW"); imshow("SHOW", MKG_3); cv::waitKey(100); /* 除了clone()函数,还可以用copyto函数【还是clone好用】 cv::Mat MKG_3; MKG_2.copyTo(MKG_3); 不过,两者均是深拷贝,完全拷贝Mat对象 */ /*读取第一行所含像素数量*/ const uchar* firstRow = MKG_1.ptr<uchar>(0); printf("the number of the first col is %d" ,*firstRow); int MKG_1_col = MKG_1.cols; int MKG_1_row = MKG_1.rows; printf("\n\n\n col = %d\n\n\n row = %d", MKG_1_col, MKG_1_row); cv::Mat MrMKG_5(3,3,CV_8SC3,cv::Scalar(0,128,128)); //前两个参数是行数和列数,CV8SC3是通道数 imshow("OUTPUT", MrMKG_5); //与位深度x位+代表数据类型字母+'C'+通道数 cv::waitKey(2000); // cv::Scarlar(0,0,0)表示颜色 /* Mat对象的复制分为部分复制和完全复制 部分复制只复制头和指针部分 完全复制字面意思 像 imread(xxx) 和 Mat A(B)是浅拷贝 深拷贝见上 */ cv::Mat MKG_6; MKG_6.create(3, 4, CV_8UC2); MKG_6 = cv::Scalar(34,123); cout << "M = " << MKG_6<<endl; /*创建小数组*/ cv::Mat MKG_7; MKG_7 = (cv::Mat_<double>(3, 3) << 0, -1, 0, 2, 3, 4, 1, 2, 2); cout <<"the matrix is " << MKG_7 << endl; cv::Mat MKG_8; MKG_8 = cv::Mat::zeros(MKG_1.size(), MKG_1.type()); /* cv术语小知识: size是一个结构体,定义了Mat矩阵内数据的分布形式 depth用来度量每一个像素中每一个通道的精度,但它本身与图像的通道数无关,范围是1—6 dims是Mat矩阵的维度,若Mat是一个二维矩阵,则dims=2 data是uchar类型的指针,指向Mat数据矩阵的首地址。 elem是element(元素)的缩写,表示矩阵中每一个元素的数据大小,如果Mat中的数据类型是CV_8UC1,elem为1 elemSize==1 */ cv::Mat MKG_9; MKG_9 = cv::Mat::zeros(3, 3, CV_8UC1); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律