Tôi muốn thực hiện một số xử lý hình ảnh cho các điểm ảnh nhận được từ máy ảnh.pixel camera xoay
Vấn đề là các pixel từ máy ảnh được xoay 90 độ.
Im nhận được các điểm ảnh bên trong phương pháp onPreviewFrame(byte[] data, Camera camera)
tôi đã cố gắng camera.setDisplayOrientation(90);
và nó sẽ hiển thị các video trong định hướng đúng, nhưng tôi vẫn nhận được các điểm ảnh xoay như đã nêu trong tài liệu:
này không không ảnh hưởng đến thứ tự của mảng byte được truyền trong Android.Hardware.Camera.IPreviewCallback.OnPreviewFrame (Byte [], Android.Hardware.Camera), ảnh JPEG hoặc video đã quay.
Tôi cũng đã cố gắng:
parameters.setRotation(90);
camera.setParameters(parameters);
nhưng điều đó không làm việc.
Tôi đang sử dụng android 2,2
hình ảnh trên cho thấy SurfaceView khi sử dụng camera.setDisplayOrientation(90);
Hình ảnh thứ hai được nhận bên onPreviewFrame(byte[] data, Camera camera)
từ mảng data
. Như bạn có thể thấy mảng data
được xoay.
Điều này không có tác dụng, đã đưa ra ArrayIndexOutOFBoundsException. –
Miễn là hình ảnh xem trước bạn nhận được khớp với giá trị chiều rộng và chiều cao thì bạn không nên nhận được ngoại lệ bị ràng buộc. Đây là mã chính xác tôi đang sử dụng tại thời điểm này và hoạt động tốt. – Scott
Dữ liệu thô được quay tốt nhưng chất lượng hình ảnh giảm xuống, sau khi sử dụng đoạn mã của bạn, tôi không thể có được chất lượng hình ảnh phù hợp với những gì tôi đã nhận được trước đây, bạn có thể giải thích thêm một số điểm quay hay không. cho cùng. Sự trợ giúp của bạn sẽ được đánh giá cao. –