OpenCV on Android native with C++
Ғылым және технология
In this video we'll see how to setup OpenCV on Android and do some basic image processing in C++. We will also talk about JNI and what is the "libnative" in Android.
#android #opencv
GitHub: github.com/ValYouW/AndroidOpe...
Blog: www.thecodingnotebook.com/202...
Пікірлер: 68
It is fun to watch someone so familiar with the tools they are using :) Thanks for the tutorial
@TheCodingNotebook
Жыл бұрын
You're very welcome!
Really nice and clean explanation, man. Amazing work. Thank you.
@TheCodingNotebook
3 жыл бұрын
Glad it was helpful!
Thank you. This helped a lot! Had to switch to C++ so i can reuse the code on iOS
@TheCodingNotebook
2 жыл бұрын
Great!
Good code from Great man, thank you so much
Excellent tutorial! Thank you so much! I have a question, Would it be possible to detect motion and speed by processing camera input using OpenCv? Does it have the functionality for that? As an example: your device is capturing the environment while it is inside a moving vehicle. Would it be possible to image process the environtment and determine the vehicle is moving and also gauge its speed? Thank you!
@TheCodingNotebook
3 жыл бұрын
If you can find an algorithm to gauge car speed from a stream of images then doing this with opencv on Android should be possible, I'm not familiar with such an algorithm... If you want to see how to process camera frames in opencv you can follow my playlist "crossolatform tensorflow lite" I hope to upload soon a video about object detection from the camera stream, which has some part using opencv.
@x32gx
3 жыл бұрын
@@TheCodingNotebook That would be great! Yeah any info about how to process camera frames would help. Thank you for the answer. There are a couple of algorithms that can extrapolate speed using parallax. I am hoping OpenCv can provide the pixel tracking that is needed for those algorithms.
Well done! This is very clear and to the point, even with typos that happen to us all. Lol 😂 If I could give you two thumbs up I would. 👍👍 +1 Subscribed!
@TheCodingNotebook
3 жыл бұрын
Thank you!! Happy you liked it.
wonderful tutorial Huge THANKS
@TheCodingNotebook
2 жыл бұрын
Thx!
Nice man, thanks
Thank you so much for this video, in depth explanation indeed. Just asking would this image processing is better than image processing using java/kotlin in term of performance?
@TheCodingNotebook
2 жыл бұрын
I never tried to do any image processing with java/kotlin, reason I chose opencv is due to all its capabilities and image processing algorithms. Although I never compared performance intuition is that it would be faster in c++, but again, never measured.
Please continue this tutorial series, we need it badly
@TheCodingNotebook
2 жыл бұрын
This was not planned to be a series, just how to setup and use opencv on Android... For example, what else would you want to see?
Hi buddy good video i wanted to know where you leart all ndk developement as i want to learn but not having much access to study material.
@TheCodingNotebook
3 жыл бұрын
Hi, just thru googling and collecting examples...
Oh, Thank you so much my friend !!!!! very nice tutorial with clear explanation! You saved me a lot of time. Tnx a lot!
@TheCodingNotebook
3 жыл бұрын
Glad to hear that!
hello! nice tutorial! do you know how to load dnn models using also c++native code? where to copy the files and how to read them?
@TheCodingNotebook
3 жыл бұрын
Hi, it depends, I did an example of object detection using tensorflow lite, here: www.thecodingnotebook.com/2019/11/cross-platform-object-detection-with.html
Thanks a lot 😄
@TheCodingNotebook
9 ай бұрын
You're welcome 😊
using OpenCv makes application size very large . can you compile it for some modules only?
@TheCodingNotebook
2 жыл бұрын
I dont see any significant size increase. It uses opencv as a static library, it takes only the code it needs. For example, using the app from this video, the libnative-lib.so is only 3MB for the arm64-v8a arch
Nice video, do you know if it's possible to count objects in real time using opencv+object detector model tflite in android?
@TheCodingNotebook
3 жыл бұрын
Should be possible to combine object detection with tflite and opencv, can check my tutorial: www.thecodingnotebook.com/2019/11/cross-platform-object-detection-with.html As for the counting logic itself you'll have to implement on your own of course. Also worth checking is (the great) MediaPipe box tracking: google.github.io/mediapipe/solutions/box_tracking
@Cristian-ew4in
3 жыл бұрын
@@TheCodingNotebook Thank you very much!
it is expecting Sigma to be jobject rather than jfloat. This is throwing error. Can anyone please help...
@TheCodingNotebook
2 жыл бұрын
I really show the entire process on the video, try to clone the code and build it...
thank you so much
@TheCodingNotebook
3 жыл бұрын
You're welcome!
That's super
@TheCodingNotebook
Жыл бұрын
Thx!
Sorry. I don't understand why you need to copy the code for converting bitmap to mat (and also from mat to bitmap) and paste it into native-lib.cpp. Because those functions are already provided by jnigraphics, why don't we just invoke them from native-lib.cpp?
@TheCodingNotebook
2 жыл бұрын
Maybe you are right, can you show an example?
Found package configuration file: C:/tools/OpenCV-android-sdk/sdk/native/jni/OpenCVConfig.cmake but it set OpenCV_FOUND to FALSE so package "OpenCV" is considered to be NOT FOUND. I get this error, how can I fix it? opencv Version 4.5 android Studio Version 4.1
@vananh199
3 жыл бұрын
did you fix it? I have the same problem
@TheCodingNotebook
3 жыл бұрын
@vananh199 Check here: (maybe you can contact him thru GH) github.com/ValYouW/AndroidOpenCVDemo/issues/1
@adrianm9078
3 жыл бұрын
Has anyone fixed it?
@andrejtimoshenko5297
3 жыл бұрын
@@adrianm9078 Hi, if you have in CMakeLists.txt file smth like "project("prjName")", try to add all #opencv install stuff {set(OpenCV_STATIC on) set(OpenCV_DIR $ENV{OPENCV_ANDROID}/sdk/native/jni) find_package(OpenCV REQUIRED)} under "project("prjName")"
@VasilyAksenov
3 жыл бұрын
After adding the environment variable OPENCV_ANDROID the machine have to be restarted. That might be the cause of the error.
Can you make Tensorflow Lite on Android native with C++ video ?
@TheCodingNotebook
3 жыл бұрын
Hi, I blogged about it in length here: www.thecodingnotebook.com/2019/11/cross-platform-object-detection-with.html I'll try to make a "code review" video if I'll find the time...
@melihcankilic5918
3 жыл бұрын
@@TheCodingNotebook Thank you very much.
היי רציתי לשאול בנוגע לשימוש ב opencv ומצלמה של המכשיר בזמן אמת, נתקלתי בבעיה רצינית אשמח עם אוכל לשאול
@TheCodingNotebook
3 жыл бұрын
Sure, you can also look at this example I did for real-time object detection: github.com/ValYouW/crossplatform-tflite-object-detecion
top
@TheCodingNotebook
Жыл бұрын
thx
#include not found even after build the project😒
@TheCodingNotebook
Жыл бұрын
Check the gradle output when doing "gradle sync", sometimes "find_package(OpenCV REQUIRED)" will error and the error message can be easily overlooked