gpt4 book ai didi

c++ - 如何从 Boost::GIL View 类型中提取 channel 类型?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:01:05 25 4
gpt4 key购买 nike

我找不到从 ImageView 中提取像素或 channel 类型的正确方法。在 gray8_view_t 的情况下,我希望将下面的 pod_t 定义为“unsigned char”。没有简单的 ViewType::pixel_t。这种类型在函数 PixelFoo 中的正确定义是什么?

    template<class ViewType> 
void PixelFoo(ViewType v)
{
typedef typename ViewType::x_iterator::value_type::channel_t pod_t;
pod_t maxVal = channel_traits<pod_t>::max_value();
pod_t podVal = v(0, 0); //expect error with emptyView
}
void PixelBar()
{
gray8_view_t emptyView;
PixelFoo(emptyView);
}

最佳答案

ViewType::value_type应该与您预期的相似 ViewType::pixel_t .

然后,对于同类像素类型,channel_type<T>::type来自 HomogeneousPixelBasedConcept 应该导致您正在寻找的类型:

template<class ViewType> 
void PixelFoo(ViewType v)
{
typedef typename boost::gil::channel_type<typename ViewType::value_type>::type pod_t;
pod_t maxVal = channel_traits<pod_t>::max_value();
pod_t podVal = v(0, 0); //expect error with emptyView
}

关于c++ - 如何从 Boost::GIL View 类型中提取 channel 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6833769/

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