Micro-Manager 1.4を使用して顕微鏡用のカメラで遊んでいます。 Pythonインターフェイスを使用して、私はカメラにアクセスし、露出時間などを変更し、個々の画像をキャプチャすることができました。Pythonで単一整数ピクセルの配列をRGBトリプレットに変換する
しかし、各画像はNumPy配列として返されます。各ピクセルは単一の整数として表されます。 "7765869"。私の知る限り、オンラインで見つけることができるように、これはJavaで「BufferedImageの」として知られ、そしてとしては、RGB値が符号化されていることを意味します。私の質問がある
BufferedImage = R * 2^16 + G * 2^8 + B
:どのように私は、例えば使用することができますNumpyまたはOpenCVの場合、この種の配列を、各ピクセルがuint8値のRGBトリプレットであるより便利な配列に変換しますか?言うまでもなく、変換は可能な限り効率的でなければなりません。
は何を持っていることは、フォームの線形ディオファントス方程式 '* X + B * Y + C * Z == N '、 私たちの場合は'で、この背後にある理論ビットに拡張するにはa = 2 ** 16、b = 2 ** 8、c = 1 'となる。一般に、これらの方程式の解は、 'gcd(a、b、c)'を見つけ、 'n'を分割することを望む。そうでなければ、解決策はありません。ソリューションが存在する場合、無限に多くのソリューションが存在します。しかし、この場合、解「0 <= x、y、z <256」を見つけるために制限されているので、 'gcd(a、b、c)| n。 – wflynny