Tôi chỉ muốn chuyển đổi một bitmap từ Android sang đối tượng Mat cho OpenCV. Chủ đề này thường được nhấn mạnh trên Stack Overflow. Ví dụ:Chuyển đổi bitmap của Android sang OpenCV Mat và ngược lại
convert Mat to Bitmap Opencv for Android;
convert Bitmap to Mat after capture image using android camera;
templateMatching mattoBitmap opencv for android
Thậm chí còn có nhiều thứ để tìm. Tôi đã làm theo các hướng dẫn trong câu trả lời này, nhưng tôi vẫn không thể làm được đúng cách.
mã tối thiểu:
//First convert Bitmap to Mat
Mat ImageMat = new Mat (image.getHeight(), image.getWidth(), CvType.CV_8U, new Scalar(4));
Bitmap myBitmap32 = image.copy(Bitmap.Config.ARGB_8888, true);
Utils.bitmapToMat(myBitmap32, ImageMat);
//Do smth.
Imgproc.cvtColor(ImageMat, ImageMat, Imgproc.COLOR_RGB2GRAY,4);
//Then convert the processed Mat to Bitmap
Bitmap resultBitmap = Bitmap.createBitmap(ImageMat.cols(), ImageMat.rows(),Bitmap.Config.ARGB_8888);;
Utils.matToBitmap(ImageMat, resultBitmap);
//Set member to the Result Bitmap. This member is displayed in an ImageView
mResult = resultBitmap;
(lưu ý: hình ảnh là một Bitmap cung cấp cho dòng mã này)
Lỗi:
08-07 15:13:59.188: E/AndroidRuntime(2115): FATAL EXCEPTION: main
08-07 15:13:59.188: E/AndroidRuntime(2115): java.lang.NoClassDefFoundError: org.opencv.core.Mat
Nhưng nhập khẩu của tôi là:
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
//OpenCV
import org.opencv.android.Utils;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.Scalar;
import org.opencv.imgproc.Imgproc;
thực sự đánh giá cao bất kỳ loại trợ giúp nào. Cảm ơn DanS
Một lỗi được tìm thấy: Quên để xuất lib opencv. (Im mới cho java) Lỗi mới là Lỗi UnsatisfiedLink như được lưu ý ở đây: http://stackoverflow.com/questions/11614227/android-unsatisfiedlinkerror-with-opencv-2-4-2 – DanS
Bây giờ với liên kết được ghi chú phía trên mã hoạt động ! – DanS
Nếu liên kết ở trên hoạt động. Bạn có thể trả lời câu hỏi này hay không? – GPPK