OpenCV関数cvtColorは、マトリックスの色空間をRGBからグレースケールに変換します。関数のC++署名がOpenCV関数cvtColorを使用して行列を変換できますか?
void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0)
この関数はsrc
dst
と同じ目的で、すなわち、所定の位置にマトリックス変換に使用することができますか?
cv::Mat mat = getColorImage();
cvtColor(mat, mat, CV_RGB2GRAY);
(私は先がソースよりも異なる数のチャネルを持っているとして、いずれかの方法は、それはまだ先のためにメモリの新しいブロックを割り当てる必要があることに注意してくださいね。)
詳細一般的に、OpenCV APIには、このようにして関数をいつ使用するかを決める慣習がありますか?
ソースと宛先のチャネル数が同じ場合に実行できます。例えばRGBからYUV、RGBからYCbCr、またはその逆など... – sgarizvi