相关疑难解决方法(0)

用于多通道矩阵的OpenCV cv :: Mat'one'?

CV_8UC1在OpenCV中使用1通道(例如)Mat对象时,这将创建所有的Mat : cv::Mat img = cv::Mat::ones(x,y,CV_8UC1).

但是,当我使用3通道图像(例如CV_8UC3)时,事情会变得复杂一些.做cv::Mat img = cv::Mat::ones(x,y,CV_8UC3)那些到通道0,但信道1和2含有.那么,我如何使用cv::Mat::ones()多通道图像?

这里有一些代码可以帮助您了解我的意思:

void testOnes() {
 int x=2; int y=2; //arbitrary

 // 1 channel
 cv::Mat img_C1 = cv::Mat::ones(x,y,CV_8UC1);
 uchar px1 = img_C1.at<uchar>(0,0); //not sure of correct data type for px in 1-channel img
 printf("px of 1-channel img: %d \n", (int)px1); //prints 1

 // 3 channels
 cv::Mat img_C3 = cv::Mat::ones(x,y,CV_8UC3); //note 8UC3 instead of 8UC1
 cv::Vec3b px3 = img_C3.at<cv::Vec3b>(0,0);
 printf("px …
Run Code Online (Sandbox Code Playgroud)

c++ opencv image image-processing matrix

11
推荐指数
1
解决办法
9890
查看次数

标签 统计

c++ ×1

image ×1

image-processing ×1

matrix ×1

opencv ×1