ビデオ/フレームの明るさとコントラストを調整するために C++ を使用する OpenCV の機能があるかどうかを知りたかったのです。BGR 色空間から HSV 色空間に変換し、後者のコンポーネント V (輝度) を破棄して、ビデオの光条件に対するアルゴリズムの感度を下げることができますが、どうすればよいでしょうか?
cvAddS (frame, cvScalar (-50, -50, -50), frame) のようなものを使用して明るさを下げることを考えていました.cvAddSとcvScalarはCではうまく機能しますが、C ++ではどうすればよいですか.AddSを使用し、私のプログラムではスカラーですが、C++ では動作しません
int main() {
VideoCapture video(1);
if(!video.isOpened()) {
cerr<<"No video input"<<endl; return -1;
}
namedWindow("Video",CV_WINDOW_AUTOSIZE);
for(;;) {
Mat frame;
video >> frame; if(!frame.data) break;
Mat frame2;
//I USE AddS AND Scalar TO DECREASE THE BRIGHTNESS
AddS(frame,Scalar(-50,-50,-50),frame2);
//BUT DON'T WORK WITH C++
imshow("Video",frame2);
int c=waitKey(20);
if(c >= 0)break;
}
}