概要
float 型の配列を OpenCV で扱える画像の形式に変換する方法について紹介します。
範囲のスケーリング
範囲が [aold,bold] である値 xold を範囲 [anew,bnew] の値 xnew に変換する式は以下のようになります。
xnew=(x–aold)bold–aoldbnew–anew+anew
[0, 1] にスケーリングする
[anew,bnew]=[0,1] を代入すると、先程の式は以下のように簡略化できます。
xnew=bold–aoldx–aold
[0, 255] にスケーリングする
[anew,bnew]=[0,255] を代入すると、先程の式は以下のように簡略化できます。
xnew=255bold–aoldx–aold
[-1, 1] にスケーリングする
[anew,bnew]=[−1,1] を代入すると、先程の式は以下のように簡略化できます。
xnew=2bold–aoldx–aold–1
float 型の配列を画像化する
float 型の配列を画像にする場合、まず画素値を [0,255] の範囲に変換し、その後 numpy.uint8
型にキャストします。
コメント