ロゴ メインコンテンツへ
RSSフィード
「ソフトウェア開発」に関連する記事一覧

C++ 画像を横軸に反転するテンプレート関数

2013/08/25 23:59
(この記事の文字数: 103)
C++ 

画像を反転するテンプレート関数を作ったので載せておきます。画像幅ステップはアライメントのことを無視してるのでアライメントを考慮するならw_stepのところでアライメントを考慮した幅にするように修正必要です。


template<typename InType, typename OutType> 
void InvertImageHor(
    OutType *o_img, 
    const InType *in_img, 
    int width, int height, int num_channels
)
{
    int w_step = width * num_channels;
    const InType  *in_ptr = in_img;
    OutType *o_ptr  = o_img;
    OutType *o_end_ptr = o_ptr + w_step * height;
    OutType *o_x_end_ptr;
    OutType *o_c_end_ptr;
    for( ; o_ptr!=o_end_ptr; )
    {
        o_x_end_ptr = o_ptr + w_step;
        in_ptr += w_step;
        for( ; o_ptr!=o_x_end_ptr;  )
        {
            o_c_end_ptr = o_ptr + num_channels;
            in_ptr -= num_channels;
            for( ; o_ptr!=o_c_end_ptr; ++o_ptr, ++in_ptr )
            {
                *o_ptr = *in_ptr;
            }
            in_ptr -= num_channels;
        }
        in_ptr += w_step;
    }
}

  このエントリーをはてなブックマークに追加  

<<「ソフトウェア開発」の記事一覧に戻る

<<「ソフトウェア開発」の次の記事
「ソフトウェア開発」の前の記事 >>

コメント(0 件)



コンテンツロード: 0.0085 sec
Copyright(C)2006-2024 puarts All Rights Reserved