首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Halide中使用元组

在Halide中使用元组
EN

Stack Overflow用户
提问于 2015-12-24 20:55:58
回答 2查看 561关注 0票数 1

我想在Halide提取一个频道,

代码语言:javascript
复制
Halide::Image<uint8_t> input = load_image("images/rgb.png");
Halide::Var x, y;
Halide::Func green;
green(x,y)= {0, input(x, y, 1), 0};

Halide::Image<uint8_t> output =
        green.realize(input.width(), input.height());

给出

只能将单元素实现转换为缓冲区或图像。

一定很简单

EN

回答 2

Stack Overflow用户

发布于 2015-12-26 20:14:23

听起来,您需要一个三个通道的输出,其中两个都是零,一个是输入图像的对应通道的内容。要做到这一点,请尝试:

代码语言:javascript
复制
   green(x, y, c) = select(c == 1, input(x, y, 1), 0);

如果这是展开和有界的,在执行中将没有条件计算。

票数 2
EN

Stack Overflow用户

发布于 2015-12-24 23:58:09

我想你想:

代码语言:javascript
复制
green(x, y) = input(x, y, 1);

您拥有的东西创建了一个由三个输出图像组成的元组,其中两个为零。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34457819

复制
相关文章

相似问题

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