• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:RGB→YUV変換のプログラム)

RGB→YUV変換のプログラム

このQ&Aのポイント
  • RGB→YUV変換を行うプログラムについて紹介します。
  • RGB画像をYUV画像に変換するプログラムの説明と使い方を解説します。
  • YUV画像をRGB画像に変換するプログラムのバグについて詳しく説明します。

質問者が選んだベストアンサー

  • ベストアンサー
  • jgk
  • ベストアンサー率75% (104/138)
回答No.1

Y,U,Vの計算の仕方がまずいです。 unsigned charですと0~255の範囲の値しか取りませんので、 Y,U,Vが0~255の範囲外の場合オーバーフローが発生し正しい数値ではなくなるので、 shortやintなどの範囲の大きい変数に入れて計算し、丸め処理等を行う必要があります。 あとその計算式の場合Yの範囲は0~255ですが、U,Vの範囲は-128~127です。 今の処理だと、U,Vが0~255の範囲に丸められてしまいます。 あと、U,Vはsigned charの範囲(-128~127)なので、signed charとして処理してやるとかしないと、おかしくなると思います。

ringist
質問者

お礼

アドバイスありがとうございました。 web上を探して1つだけプログラムソースが見つかったのですが それでもうまくいかなくて質問しました。 ご指摘ありがとうございました。 YUVのUVは範囲が-128~127だというのは初耳でした。 そうすると、画像処理ソフトではうまくさばけないんでしょうかね。 生で-100とか入れても?画像って表示されるのかな。 実験してみます。 いままでRGBで0~255しか扱ったことがなかったです。 画像処理ソフトもその値のピクセルを表示しているのかと 思っていました。

関連するQ&A

専門家に質問してみよう