相关疑难解决方法(0)

opencv矩阵数据是否保证连续?

我知道,opencv矩阵中包含的数据不保证是连续的.为了清楚起见,这是Opencv文档中的一段:

在此输入图像描述

Opencv提供了一个名为isContinuous()的函数来测试给定矩阵的数据是否是连续的.我的问题是

(1)如果我按如下方式创建新矩阵

Mat img = cv::imread(img_name)
Run Code Online (Sandbox Code Playgroud)

img中的数据是否保证是连续的?

(2)我知道通过从现有矩阵借用数据来创建新矩阵将导致不连续的数据

cv::Mat small_mat = large_mat.col(0);
Run Code Online (Sandbox Code Playgroud)

上面的代码通过借用large_mat的第0列来创建一个新的矩阵small_mat,从而导致small_mat中的连续数据.所以问题是,如果我在不借用现有矩阵的数据的情况下创建一个全新的矩阵,那么全新的矩阵是否会有不间断的数据?

(3)以下代码是否保证创建具有连续数据的矩阵?

cv::Mat mat(nRows, nCols, CV_32FC1);
Run Code Online (Sandbox Code Playgroud)

c++ opencv

17
推荐指数
2
解决办法
6738
查看次数

opencv c ++:将图像矩阵从unsigned char转换为float

转换图像矩阵时遇到问题.我用:

Mat image = imread(image_name, 0);
Run Code Online (Sandbox Code Playgroud)

将图像读入Mat对象.当我查看调试器时,我看到数据存储为unsigned char.

接下来,我使用convertTo方法将数据转换为浮点值:

Mat image_f;
image.convertTo(image_f, CV_32F);
Run Code Online (Sandbox Code Playgroud)

我再次查看调试器,数据仍然是unsigned char类型.

我究竟做错了什么?

c++ opencv

2
推荐指数
1
解决办法
5362
查看次数

标签 统计

c++ ×2

opencv ×2