gpt4 book ai didi

c++ - 使用 cv::Mat::at 运算符访问像素值

转载 作者:太空宇宙 更新时间:2023-11-03 21:58:43 26 4
gpt4 key购买 nike

我正在使用 OpenCV 2.3.1 (c++ api),当我尝试获取彩色图像的像素值时,我得到了非常奇怪的结果,而不是数值,输出是这样的:?, * , |等,例如代码如下:

cv::Mat inputImage = cv::imread("Picture1.jpg");
std::cout << inputImage.at<cv::Vec3b>(x,y)[0] << std::endl; //print B component

其中 x 和 y 是鼠标回调函数的坐标。我假设类型是错误的,你知道我还能用什么来代替 Vec3b 吗?

最佳答案

我认为问题的发生是因为您使用的是“at(x, y)”。文档说第一个参数应该是“基于 0 的行索引”,第二个参数应该是“基于 0 的列索引”。因此,您应该调用 at(y, x) 或 at(cv::Point(x, y))。

关于c++ - 使用 cv::Mat::at 运算符访问像素值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12461848/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com