|
Boost Users : |
Subject: Re: [Boost-users] [GIL] How to read fixed point channel ?
From: Christian Henning (chhenning_at_[hidden])
Date: 2009-11-26 15:33:48
Eloi,
maybe you have to create new channel type which represents a fixed
point value. A good starting point might be scoped_channel_value in
channel.hpp. I'm thinking something like this:
template< typename BaseChannelValue >
class fixed_point
{
typedef fixed_point value_type;
typedef value_type& reference;
typedef value_type* pointer;
typedef const value_type& const_reference;
typedef const value_type* const_pointer;
BOOST_STATIC_CONSTANT(bool,
is_mutable=channel_traits<BaseChannelValue>::is_mutable);
static value_type min_value() { return ; }
static value_type max_value() { return ; }
fixed_point() {}
fixed_point(const fixed_point& c) : _value(c._value) {}
fixed_point(BaseChannelValue val) : _value(val) {}
fixed_point& operator++() { /*todo*/; return *this; }
fixed_point& operator--() { /*todo*/; return *this; }
fixed_point operator++(int) { fixed_point tmp=*this;
this->operator++(); return tmp; }
fixed_point operator--(int) { fixed_point tmp=*this;
this->operator--(); return tmp; }
template <typename Scalar2> fixed_point& operator+=(Scalar2 v) {
/*todo*/; return *this; }
template <typename Scalar2> fixed_point& operator-=(Scalar2 v) {
/*todo*/; return *this; }
template <typename Scalar2> fixed_point& operator*=(Scalar2 v) {
/*todo*/; return *this; }
template <typename Scalar2> fixed_point& operator/=(Scalar2 v) {
/*todo*/; return *this; }
fixed_point& operator=(BaseChannelValue v) { _value=v; return *this; }
operator BaseChannelValue() const { return _value; }
private:
BaseChannelValue _value;
};
Does that goes in your direction?
Regards,
Christian
On Thu, Nov 26, 2009 at 5:24 AM, Eloi Du Bois <eloi.du.bois_at_[hidden]> wrote:
> Hi,
>
> I have a stream with 8.8 (16b) channels encoded with fixed point arithmetics
> (http://knol.google.com/k/anonymous/fixed-point-arithmetic/1b19ktdbl6g9q/2#)
> and I need to create a rgb16 view that can hold my image... I tried with
> interleaved_view but this makes wrong values. I don't know how to manage
> with this...
> How must be encoded the shorts in a rgb16_image_t ?
>
> If anyone could help me, that would be great.
>
> Thanks,
> Eloi.
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net