使用 at<float>(i, j) 访问 cv::Mat 的元素

Accessing elements of a cv::Mat with atlt;floatgt;(i, j). Is it (x,y) or (row,col)?(使用 atlt;floatgt;(i, j) 访问 cv::Mat 的元素.是 (x,y) 还是 (row,col)?)

本文介绍了使用 at<float>(i, j) 访问 cv::Mat 的元素.是 (x,y) 还是 (row,col)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我们访问 cv::Mat 结构的特定元素时,我们可以使用 mat.at(i,j) 来访问位置 i,j 的元素.然而,目前尚不清楚 (i,j) 是指矩阵中的 x,y 坐标,还是第 i 行和第 j 列.

When we access specific elements of a cv::Mat structure, we can use mat.at(i,j) to access the element at position i,j. What is not immediately clear, however, whether (i,j) refers to the x,y coordinate in the matrix, or the ith row and the jth column.

推荐答案

OpenCV 与其他库一样,按行优先顺序处理矩阵(和图像).这意味着每个访问都被定义为 (row, column).

OpenCV, like may other libraries, treat matrices (and images) in row-major order. That means every access is defined as (row, column).

此一般规则的显着例外是 Matlab 和 Eigen 库.

Notable exceptions from this general rule are Matlab and Eigen libraries.

这篇关于使用 at<float>(i, j) 访问 cv::Mat 的元素.是 (x,y) 还是 (row,col)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:使用 at<float>(i, j) 访问 cv::Mat 的元素

基础教程推荐