任何人都知道需要调用哪种方法来访问8UC4类型图片的RGB值(每个组件8位,4个通道(颜色通道+ alpha)
答案 0 :(得分:0)
您可以使用mat.at(i, j)
来访问位于i
行和j
列的像素,但at()
必须与数据类型Mat
一起使用,作为模板类型传递。如果你使用错误的数据类型,OpenCV不会抛出任何错误,而是会返回一些垃圾,所以你需要处理那个事情,单个通道矩阵像素可以作为mat.at<uchar>(i, j)
访问,{{1 }}。
对于多渠道矩阵,您需要使用mat.at<float>(i, j)
,cv::Vec3b
,cv::Vec3f
等。
在您的情况下,由于它是一个4通道uchar矩阵,因此可以将其像素值访问为:
cv::Vec4b