MATLABでカラー動画を読み込み、特定のフレームを抽出し、rgb2gray
関数を使ってグレースケール画像に変換するのですが、同じ動画をOpenCV2.3.1で読み込むと、同じフレームを抽出してからグレースケールに変換してもうまくいきません。 MATLAB と同じグレー スケール値を与えません。何故ですか?
これは、OpenCV を使用した C++ コードです。
VideoCapture cap(0);
cap.open("Human sperm evaluation_0.avi");
Mat image;
Mat gray(480,640,CV_8U);
for(int i=0;i<513;i++)
{
cap>>image;
cvtColor(image,gray,CV_RGB2GRAY);
}
for(int i=0;i<20;i++)
{
for(int j=0;j<20;j++)
{
cout<<(int)gray.at<uchar>(i,j)<<' ';
}
}