我确定当我发现我在这里做错了什么时,我会打击自己,但为什么这会在OpenCV 2.4.6中引发异常?
cv::Mat img(240, 320, CV_8UC4);
img.at<uint32_t>(180, 180) = 0x00000000;
设置像素值的第二行抛出异常。这是一个四通道图像,我在边界内很好地访问它。我在这里缺少什么?
答案 0 :(得分:2)
您的垫子类型为CV_8UC4,因此,这是4个通道á8个字节。
正确访问它将是:
img.at<cv::Vec4b>(180,180) = cv::Vec4b(0,0,0,0);