ボリュームを表す 3D 配列があります。すべてのボクセルは、ベクトル (k1, k2) をローカル主曲率として保持します。
次に、このボリュームを色で視覚化する必要があります (下の図のように)。したがって、RGBA ボリュームに変換する必要があります。(k1、k2) から (r、g、b、a) への伝達関数を実装するアルゴリズムはありますか? ありがとう!
ボリュームを表す 3D 配列があります。すべてのボクセルは、ベクトル (k1, k2) をローカル主曲率として保持します。
次に、このボリュームを色で視覚化する必要があります (下の図のように)。したがって、RGBA ボリュームに変換する必要があります。(k1、k2) から (r、g、b、a) への伝達関数を実装するアルゴリズムはありますか? ありがとう!
基本的に、 OpenCV のチュートリアルから
、カラー モデル
コードを使用してオプティカル フローを視覚化するためのソリューションをコピーして貼り付けました。
import cv2
import numpy as np
# Use Hue, Saturation, Value colour model
hsv = np.zeros(im1.shape, dtype=np.uint8)
hsv[..., 1] = 255
mag, ang = cv2.cartToPolar(k1, k2)
hsv[..., 0] = ang * 180 / np.pi / 2
hsv[..., 2] = cv2.normalize(mag, None, 0, 255, cv2.NORM_MINMAX)
bgr = cv2.cvtColor(hsv, cv2.COLOR_HSV2BGR)
cv2.imshow("colored flow", bgr)
cv2.waitKey(0)
cv2.destroyAllWindows()
欠けているのは、計算方法を指定していないアルファ チャネルだけです。あなたの色空間の画像から私が理解できることから、グラデーションの大きさをアルファの値として使用できます。これを行うために必要な変更は、BGR イメージの 4 番目のチャネルとしてマグニチュードを追加することです。