OpenCV:访问8UC4类型的像素强度值

时间:2017-07-11 04:31:06

标签: opencv c++11

任何人都知道需要调用哪种方法来访问8UC4类型图片的RGB值(每个组件8位,4个通道(颜色通道+ alpha)

1 个答案:

答案 0 :(得分:0)

您可以使用mat.at(i, j)来访问位于i行和j列的像素,但at()必须与数据类型Mat一起使用,作为模板类型传递。如果你使用错误的数据类型,OpenCV不会抛出任何错误,而是会返回一些垃圾,所以你需要处理那个事情,单个通道矩阵像素可以作为mat.at<uchar>(i, j)访问,{{1 }}。

对于多渠道矩阵,您需要使用mat.at<float>(i, j)cv::Vec3bcv::Vec3f等。

在您的情况下,由于它是一个4通道uchar矩阵,因此可以将其像素值访问为:

cv::Vec4b