在opencv中获取LAB图像的像素值

发布于 2025-01-01 05:50:28 字数 87 浏览 0 评论 0原文

我想访问 LAB 图像在特定位置的像素值。我不想读取所有像素值。假设 x 和 y 坐标分别为 50 和 40 的位置。谁能告诉我该怎么做?

谢谢

I want to access the pixel values of a LAB image at a particular position.I don't want to read all the pixel values.Lets say at a position with x and y coordinates as 50 and 40 respectively. Can anyone please tell me how to do this??

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅浅 2025-01-08 05:50:28

要获取这些值,只需使用 cvGet2D 和 s.val[0]、s.val[1]、s.val[2] 将为您提供所需的强度(如果它是 RGB 图像)或者只是 s.val[0]足够灰度。

CvScalar s;
s=cvGet2D(img,i,j);
Int value = s.val[k];

To get the values, just use cvGet2D and s.val[0], s.val[1], s.val[2] will give you the required intensities if it is a RGB image or just s.val[0] will suffice for greyscale.

CvScalar s;
s=cvGet2D(img,i,j);
Int value = s.val[k];
无名指的心愿 2025-01-08 05:50:28

你尝试了什么?看看 OpenCV 用户指南,非常靠近顶部的部分“访问像素强度值”?

例如:

Vec3b intensity = img.at<Vec3b>(x, y);
Vec3f intensity = img.at<Vec3f>(x, y);

What have you tried? Have a look at the OpenCV User Guide, very near the top, the section "Accessing pixel intensity values"?

e.g.:

Vec3b intensity = img.at<Vec3b>(x, y);
Vec3f intensity = img.at<Vec3f>(x, y);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文