Tôi đang cố gắng triển khai luồng quang trong Android bằng cách sử dụng openCV http://code.google.com/p/android-opencv/. Về cơ bản tôi muốn xây dựng một cái gì đó như thế này http://www.youtube.com/watch?v=P_Sjn67jIJY. Dù sao vì im mới để phát triển Android có thể bất cứ ai hướng dẫn một nơi nào đó để xây dựng một cái gì đó giống như một trên video? Ive đã cài đặt cổng opencv cho android và xây dựng ví dụ cvcamera thành công bằng cách sử dụng nhật thực. Cảm ơn, ThanosLuồng quang học Android với opencv
Trả lời
Xem luồng quang học Stanford OpenCV này link. Những điều cần làm việc về cơ bản theo cùng một cách ngoại trừ các cuộc gọi có thể hơi khác nhau do 1.x so với các vấn đề C + C++ API của 2.x.
Chỉ cần chỉnh sửa ví dụ CVCamera và nó sẽ nhanh chóng. Tôi đã thực hiện ứng dụng phát hiện khuôn mặt trong thời gian thực trong khoảng một giờ sau khi CVCamera hoạt động.
Ghé thăm http://opencv.willowgarage.com/wiki/Android2.3.0, OpenCV 2.3.0 Release Candidate có hỗ trợ tốt cho Android. Có dòng quang bên trong nó .. sử dụng nó
Cảm ơn sự giúp đỡ của bạn! Trường hợp chính xác là mẫu lưu lượng quang học trong opencv 2.3.0? Tôi đã tải về nó và như fas như ive tìm kiếm tôi couldt tìm thấy bất kỳ thực hiện lưu lượng quang học, tôi chỉ tìm thấy làm thế nào để phát hiện các tính năng với FAST, SURF VÀ STAR trong CVCamera .. – thanos
đó là mẫu phải không? bạn cần phải viết của riêng bạn bằng cách sử dụng (cv :: calcOpticalFlowPyrLK) và xây dựng lại với NDK [http://opencv.willowgarage.com/wiki/OpenCVAndroidBinariesBuild] – shernshiou
, mặt khác, bạn có thể làm theo https://groups.google. com/group/android-opencv/browse_thread/thread/c0c011cb8e7f3e0C# i đoán fella này đã xây dựng thành công một ứng dụng dòng quang – shernshiou
Mặc dù tôi cũng đang cố gắng làm như vậy, có vẻ như sẽ hỗ trợ nhiều hơn cho luồng quang trong OpenCV4Android ngay bây giờ. Xem API trong org.opencv.video OpenCV Java documentation Tôi thấy calcOpticalFlowPyrLK và calcOpticalFlowFarneback. Tôi đã có thể nhận được calcOpticalFlowFarneback để làm việc (mặc dù kết quả dường như không tuyệt vời, có thể cần phải tinh chỉnh các tham số) calcOpticalFlowPyrLK đang chứng minh là khó khăn. Tôi không thể chuyển đổi các điểm chính được trả về bởi lớp FeatureDetector (MatOfKeyPoint) thành các điểm cần thiết bởi calcOpticalFlowFarneback (MatOfPoint2f) other thread
Mã này sẽ giúp bạn lấy các vectơ quang học. Và nó sẽ theo dõi chúng
@ Override công Mat onCameraFrame (CvCameraViewFrame inputFrame) {
mRgba = inputFrame.rgba();
if (mMOP2fptsPrev.rows() == 0) {
//Log.d("Baz", "First time opflow");
// first time through the loop so we need prev and this mats
// plus prev points
// get this mat
Imgproc.cvtColor(mRgba, matOpFlowThis, Imgproc.COLOR_RGBA2GRAY);
// copy that to prev mat
matOpFlowThis.copyTo(matOpFlowPrev);
// get prev corners
Imgproc.goodFeaturesToTrack(matOpFlowPrev, MOPcorners, iGFFTMax, 0.05, 20);
mMOP2fptsPrev.fromArray(MOPcorners.toArray());
// get safe copy of this corners
mMOP2fptsPrev.copyTo(mMOP2fptsSafe);
}
else
{
//Log.d("Baz", "Opflow");
// we've been through before so
// this mat is valid. Copy it to prev mat
matOpFlowThis.copyTo(matOpFlowPrev);
// get this mat
Imgproc.cvtColor(mRgba, matOpFlowThis, Imgproc.COLOR_RGBA2GRAY);
// get the corners for this mat
Imgproc.goodFeaturesToTrack(matOpFlowThis, MOPcorners, iGFFTMax, 0.05, 20);
mMOP2fptsThis.fromArray(MOPcorners.toArray());
// retrieve the corners from the prev mat
// (saves calculating them again)
mMOP2fptsSafe.copyTo(mMOP2fptsPrev);
// and save this corners for next time through
mMOP2fptsThis.copyTo(mMOP2fptsSafe);
}
/*
Parameters:
prevImg first 8-bit input image
nextImg second input image
prevPts vector of 2D points for which the flow needs to be found; point coordinates must be single-precision floating-point numbers.
nextPts output vector of 2D points (with single-precision floating-point coordinates) containing the calculated new positions of input features in the second image; when OPTFLOW_USE_INITIAL_FLOW flag is passed, the vector must have the same size as in the input.
status output status vector (of unsigned chars); each element of the vector is set to 1 if the flow for the corresponding features has been found, otherwise, it is set to 0.
err output vector of errors; each element of the vector is set to an error for the corresponding feature, type of the error measure can be set in flags parameter; if the flow wasn't found then the error is not defined (use the status parameter to find such cases).
*/
Video.calcOpticalFlowPyrLK(matOpFlowPrev, matOpFlowThis, mMOP2fptsPrev, mMOP2fptsThis, mMOBStatus, mMOFerr);
cornersPrev = mMOP2fptsPrev.toList();
cornersThis = mMOP2fptsThis.toList();
byteStatus = mMOBStatus.toList();
y = byteStatus.size() - 1;
for (x = 0; x < y; x++) {
if (byteStatus.get(x) == 1) {
pt = cornersThis.get(x);
pt2 = cornersPrev.get(x);
Core.circle(mRgba, pt, 5, colorRed, iLineThickness - 1);
Core.line(mRgba, pt, pt2, colorRed, iLineThickness);
}
}
return mRgba;
}
- 1. Luồng quang học sử dụng opencv
- 2. Theo dõi OpenCV bằng luồng quang
- 3. Thực hiện luồng quang Javascript
- 4. CUDA với opencv cho Android
- 5. Chương trình nhận dạng ký tự quang học cho ảnh
- 6. Sử dụng Ruby và Ubuntu với nhận dạng ký tự quang học
- 7. Nguồn tốt để học đa luồng với .net?
- 8. OpenCV Android Background Subtraction
- 9. Phong cách quang học WPF của MenuItem-Separator được tạo động trong MVVM
- 10. Làm việc với quang cảnh một phần trong ASP.NET MVC
- 11. OpenCV 2.4.4 Hình ảnh/luồng webcam Java - Grab (OSX)
- 12. Sự khác biệt giữa lưu lượng quang học thưa thớt và dày đặc?
- 13. nguồn học tập đa luồng java
- 14. Android OpenCV getPerspectiveTransform và warpPerspective
- 15. OpenCV với Máy ảnh mạng
- 16. Android OpenCV: vẽ các trận đấu với feature2d
- 17. Android - thay thế cho OpenCV?
- 18. Thêm một số xử lý OpenCV vào luồng video gstreamer
- 19. OpenCV cho hình ảnh ANDROID so sánh
- 20. Xoay VideoCapture trong OpenCV trên Android
- 21. Đọc video với openCV
- 22. phát hiện đối tượng android opencv
- 23. So sánh hình ảnh OpenCV trong Android
- 24. Trích xuất xương tay từ hình ảnh X quang
- 25. Chuột quang làm bộ mã hóa
- 26. Tải hình ảnh bằng OpenCV trong Android
- 27. Phát hiện đối tượng OpenCV của Android
- 28. Tính đường dẫn hồ quang n chiều
- 29. Android VideoView lưu luồng RTSP
- 30. So sánh hai quang phổ trong iOS
Ive đã phát hiện ra rằng nhưng tôi thiếu kiến thức trong java dont hãy để tôi làm cho nó chạy cho android .. = \ – thanos
Đó là bước đầu tiên. Tôi nghĩ rằng bạn đã xây dựng ví dụ CVCamera từ nguồn và cài đặt nó. Lưu ý, điều này rất khác với việc tải xuống tệp .apk và chơi với nó. – peakxu
Tôi đã tạo CVCamera bằng cách sử dụng vỏ bash Cygwin và mở nó bằng nhật thực mà không có bất kỳ lỗi nào. Ngoài ra, thay đổi độ phân giải để chạy nhanh hơn tính năng phát hiện CVCamera có – thanos