• 締切済み

OpenCVでcvSetImageROIについて

OpenCVで画像aから画像bをcvSetImageROIで切り抜きました. 画像aと切り抜いた画像bの画素値を比較すると,同じところを見ているはずなのに, 上と下で画素値が少しづつ違っています. cvSetImageROIで画像の輝度値が変わってしまうことはありますか?(輝度値を見たのはmatlabです)

みんなの回答

  • myuki1232
  • ベストアンサー率57% (97/170)
回答No.2

> OpenCVで画像を記録するときにAもBもJPEGで記録しました. Bを出力するときにJPEGにしているのであれば、再圧縮がかかって画像が変化(劣化)している可能性が高いです。 JPEGは非可逆圧縮なので、画素値が変化して困る用途には使えません。 > 人物が映っている画像です。 > > 背景と人物が映っている画像Aと 人物のみ映っている部分(背景を含めて)をAから切り出した画像Bを > 比較しました. > 全く同じ輝度値の画像のはずなので, > matlabで画像を読み込みました.そうすると数値が上記の画像のように出てくるので, > 輝度値が変わっていることに気付きました。 聞きたかったのは、画像の色数やファイルのフォーマットは何か、輝度値をどうやって計算したかです。 (おそらくJPEGで出力していることが原因と思いますので、無理に答えなくてもいいです。)

  • myuki1232
  • ベストアンサー率57% (97/170)
回答No.1

cvSetImageROI で輝度値が変わることはありません。 処理しているのはどのような画像ですか? どうやって比較しましたか? JPEG などに出力してませんか?

powato
質問者

補足

人物が映っている画像です。 背景と人物が映っている画像Aと 人物のみ映っている部分(背景を含めて)をAから切り出した画像Bを 比較しました. 全く同じ輝度値の画像のはずなので, matlabで画像を読み込みました.そうすると数値が上記の画像のように出てくるので, 輝度値が変わっていることに気付きました。 OpenCVで画像を記録するときにAもBもJPEGで記録しました.

関連するQ&A