openFrameworksでよくofxCvさんにお世話になってます。
Matを直でoFの画面に描画したい時にofxCv::drawMat()を使うんですが地味に引っかかったのでメモ
普通にカラーやグレイスケールのイメージの情報をもたせたMatをdrawMatで描画するのは大丈夫。
ただし、ROIを設定したMatをdrawMatで描画しようとするとおかしな描画になるという問題が…
Mat src;//何か画像を入れておく cv::Mat roi = src(cv::Rect(10,10,100,100)); //cv::drawMat(roi, 0,0); //うまく表示されない… cv::Mat roitmp; roi.copyTo(roitmp); cv::drawMat(roitmp, 0,0);
とりあえずMatをcopyTo()したり、clone()してたりするとうまくいくみたいでした。