我知道如何访问三个 channel cv::Mat
使用 Vec3b
.但现在我有一个 n
channel cv::Mat
和 n
不是常数(使用 cv::Vec<uchar, n>
)。我如何访问 cv::Mat
现在 channel ?
最佳答案
假设 n = 10
,我们想要访问像素 (i, j)
的 4th
channel 。这是一个简单的例子:
typedef cv::Vec<uchar, 10> Vec10b;
// ....
// Create the mat
cv::Mat_<Vec10b> some_mat;
// Access 4th channel
uchar value = some_mat.at<Vec10b>(i,j)(4);
// or
uchar value = some_mat.at<Vec10b>(i,j)[4];
希望对您有所帮助。请注意,您可以省略 typedef
行,我只是认为这样更容易。
关于c++ - 如何在 opencv 中访问 Mat 的第 n 个 channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45349927/