sRGBをCIELabに、またはその逆に変換する方法がわかりません。お願い助けて。с++コードで望ましい
2 に答える
逆ガンマを適用してsRGBからRGBに変換し、3x3行列を使用してRGBをXYZに変換し、標準式とD6500白色点を使用してXYZをLabに変換します。
参照:
残りは...あなたは自分で行うことができます:-)
場合によっては、変換プロセス(sRGBからLABへの変換およびその逆)およびsRGBから線形RGBへの変換に役立つリンクのリスト(さまざまなプログラミング言語)を用意しました。リニアRGBは、画像のホワイトバランスとカラーキャリブレーションにさらに使用できます(Macbethカラーチャートなどのカラーパッチが提供されます)。
興味深いリンク:
(i)sRGBおよび線形RGB空間を理解する:http://filmicgames.com/archives/299 ; http://www.cambridgeincolour.com/tutorials/gamma-correction.htm
(ii)MATLABチュートリアル:https ://de.mathworks.com/help/vision/ref/colorspaceconversion.html
(iii)Pythonパッケージ:http://pydoc.net/Python/pwkit/0.2.1/pwkit.colormaps/
(iv)Cコード:http ://svn.int64.org/viewvc/int64/colors/color.c?view = markup
(v)OpenCVはsRGBから線形RGBへの変換を提供しませんが、color.cppコード(OpenCV_DIR \ modules \ imgproc \ src \ color.cpp)内で変換を行います。initLabTabs()と呼ばれるメソッドをチェックしてください。ガンマエンコーディングとデコーディングがあります。OpenCV色変換API:http ://docs.opencv.org/3.1.0/de/d25/imgproc_color_conversions.html