首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法用OpenImageIO的python绑定从图像中提取像素颜色信息

有没有办法用OpenImageIO的python绑定从图像中提取像素颜色信息
EN

Stack Overflow用户
提问于 2019-10-23 08:02:13
回答 1查看 366关注 0票数 0

我想请教更有经验的人如何使用oiio的python绑定来获取图像中像素的RGB值。

我刚刚开始使用oiio,并且不熟悉这个库以及代码级的图像操作。

我翻了翻文档,但我不太明白参数是如何工作的。它似乎不像python那样工作,我很难弄清楚,因为我不懂C语言。

A)使用什么命令来获取像素信息(似乎get_pixel可以工作)

B)如何让它工作。我不能准确地理解参数要求。

编辑:

我正在尝试将访问所有像素以获得文档中的平均颜色的C示例转换为pythonic式的东西,但一无所获。

会很感谢你的帮助的,谢谢。

编辑:添加代码

代码语言:javascript
复制
buffer = oiio.ImageBuf('image.tif')

array = buffer.read(0, 0, True)

print buffer.get_pixels(array)

我得到的错误消息是:

代码语言:javascript
复制
# Error: Python argument types in
#     ImageBuf.get_pixels(ImageBuf, bool)
# did not match C++ signature:
#     get_pixels(class OpenImageIO::v1_5::ImageBuf, enum OpenImageIO::v1_5::TypeDesc::BASETYPE)
#     get_pixels(class OpenImageIO::v1_5::ImageBuf, enum OpenImageIO::v1_5::TypeDesc::BASETYPE, struct OpenImageIO::v1_5::ROI)
#     get_pixels(class OpenImageIO::v1_5::ImageBuf, struct OpenImageIO::v1_5::TypeDesc)
#     get_pixels(class OpenImageIO::v1_5::ImageBuf, struct OpenImageIO::v1_5::TypeDesc, struct OpenImageIO::v1_5::ROI)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-24 00:56:08

OpenImageIO有几个用于处理图像的类,具有不同的抽象级别。假设您对Python类感兴趣,我认为从ImageBuf (使用OpenImageIO 2.x)访问单个像素的最简单方法如下所示:

代码语言:javascript
复制
import OpenImageIO as oiio
buf = ImageBuf ("foo.jpg")
p = buf.getpixel (50, 50)   # x, y
print (p)

P将是一个numpy数组,因此this将产生如下输出

代码语言:javascript
复制
(0.01148223876953125, 0.0030574798583984375, 0.0180511474609375)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58513742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档