如何在OpenCV上使用類VideoCapture時旋轉攝像頭? (Android上的樣本臉部檢測)。在Android上的OpenCV中旋轉視頻捕捉
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
{
Matrix matrix = new Matrix();
matrix.preTranslate(
(canvas.getWidth() - bmp.getWidth())/2,
(canvas.getHeight() - bmp.getHeight())/2);
matrix.postRotate(270f, (canvas.getWidth())/2,
(canvas.getHeight())/2);
canvas.drawBitmap(bmp, matrix, null);
}
但是從相機圖像不旋轉: 我與旋轉畫布臉檢測不工作。
相機從以下接收流:
protected Bitmap processFrame(VideoCapture capture) {
capture.retrieve(mRgba, Highgui.CV_CAP_ANDROID_COLOR_FRAME_RGBA);
capture.retrieve(mGray,
Highgui.CV_CAP_ANDROID_GREY_FRAME);
UPDATE 我做了以下內容:
@Override
protected Bitmap processFrame(VideoCapture capture) {
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
Core.flip(mRgba.t(), mRgba, 0);
}
else {
}
capture.retrieve(mRgba, Highgui.CV_CAP_ANDROID_COLOR_FRAME_RGBA);
capture.retrieve(mDetect_thread.mGray,
Highgui.CV_CAP_ANDROID_GREY_FRAME);
但就是不工作。當我在portret方向上運行程序(在Android設備上) - 程序不啓動當我以橫向方向運行程序 - 程序工作,但是當我旋轉設備時,程序工作,但顯示圖像不旋轉
偏離它的工作原理。這是人臉識別,不能與旋轉圖像一起使用。 –
這不起作用 – gregm
您能否詳細說明一下? –