Làm cách nào để xoay camera khi sử dụng lớp VideoCapture trên OpenCV? (Phát hiện khuôn mặt mẫu trên Android). Tôi đang xoay canvas với:Xoay VideoCapture trong OpenCV trên Android
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);
}
nhưng hình ảnh từ Máy ảnh không xoay: Không phát hiện khuôn mặt.
Chiếc máy ảnh này nhận được dòng sau:
protected Bitmap processFrame(VideoCapture capture) {
capture.retrieve(mRgba, Highgui.CV_CAP_ANDROID_COLOR_FRAME_RGBA);
capture.retrieve(mGray,
Highgui.CV_CAP_ANDROID_GREY_FRAME);
CẬP NHẬT tôi đã làm như sau:
@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);
Nhưng là không làm việc. Khi tôi chạy chương trình theo hướng portret (trên thiết bị android) - chương trình không khởi động Khi tôi chạy rogram theo hướng ngang - công việc lập trình, nhưng khi tôi xoay thiết bị, chương trình làm việc, nhưng hình ảnh trên màn hình không quay
Tắt khóa học hoạt động. Đó là nhận diện khuôn mặt không hoạt động ngoài hộp với hình ảnh được xoay. –
Điều này không hoạt động – gregm
Bạn có thể xây dựng? –