OpenCV Basics - 21 - Aruco Marker Tracking

Поділитися
Вставка
  • Опубліковано 8 бер 2017
  • NEXT (OpenCV 4 2017 Setup) - • OpenCV 4 Building with...
    PREVIOUS (20) - • OpenCV Basics - 20 - L...
    In this final episode we finish being able to track Aruco markers and draw their axes to the screen using C++ in Visual Studio. I show you a camera calibration, loading the matrix and then using it to properly detect the markers and display the axes.
    I hope you have enjoyed the series.
    Thanks for watching!
    Your support helps me make new content!
    If you'd like to become a Patron: / glecakes
    Website: www.georgelecakes.com
    Twitter: / glecakes
    Facebook: / george.lecakes

КОМЕНТАРІ • 75

  • @riala
    @riala Рік тому

    🙏🏼🙏🏼🙏🏼🙏🏼🙏🏼 5 years after upload and these videos are still helping people. Internet gold

  • @vtcano1995
    @vtcano1995 6 років тому +2

    Amazing series George! After One year it continues to be extremely useful. Thank you!

  • @user-bn5kr5od1p
    @user-bn5kr5od1p 7 років тому

    Thank you George. This is such a clear and coherent tutorial. I like the way you get on coding and get stuff working.

  • @timofeyrenski2775
    @timofeyrenski2775 5 років тому +1

    Thanks dude for this series, you really help me with coursework

  • @michaeljmcguffin
    @michaeljmcguffin 6 років тому +1

    I am very happy to have found this series!!! Thank you!!

  • @jianlongzhao986
    @jianlongzhao986 7 років тому +1

    Ah, the last video always makes me sad. Thanks for your teaching. Looking forward to more videos from you!

  • @nusud
    @nusud 4 роки тому +1

    Hello George, thank you for taking the time to share all this useful knowledge and programming methodology. It's been a pleasure to watch the series! Thank you!

  • @asparwhite86
    @asparwhite86 7 років тому

    great set of tutorials. Thanks for making them!

  • @sourabhjigjinni
    @sourabhjigjinni 7 років тому

    wow thanks! Great series! These videos are truly a trove of information to get one started on interesting projects. Hopefully once I'm done with mine ill hit u up! Cheers

  • @hypernarutouzumaki
    @hypernarutouzumaki 5 років тому

    Thank you so much! You have given my major project a major help! :D

  • @gregrossano5211
    @gregrossano5211 4 роки тому +1

    I got it to work too - thanks for the guidance!
    -Greg

  • @rosyluo7710
    @rosyluo7710 6 років тому

    THX! Great tutorial, George!

  • @tomaszbieniek3774
    @tomaszbieniek3774 6 років тому

    Please continue the series, I very interesting in Yours OpenCV tutorials.

  • @pecumo1281
    @pecumo1281 6 років тому

    Great content, thank you. Was very helpful!

  • @TheKevinrock7
    @TheKevinrock7 3 роки тому +1

    This video is very clear and helpful. thanks for making it.

  • @brenomedeirosdeoliveira4090
    @brenomedeirosdeoliveira4090 4 роки тому

    Thank you a loooooooot!
    You are a Genius!

  • @PavlikGyra
    @PavlikGyra 5 років тому

    amazing! Спасибо!

  • @rusuvalentin95
    @rusuvalentin95 6 років тому

    Hey George!
    Thank you very much for this series, is an amazing tutorial.
    There is any repository from where we can download the code? Is a little bit hard to watch and write in the same time and errors may appear. Thank you!

  • @TheQvisionsa
    @TheQvisionsa 7 років тому

    Great series!!! Do you have the lessons written in some repository? As I'm not skilled in C++ I need to try do something in C#

  • @Maarx
    @Maarx 7 років тому +1

    Huge thanks for this serie, it really inspires me sharing back to the community!
    PS: you should delete video "OpenCV Basics - 19" since it's a duplicate of this one (looks like it's a forgotten older version)

  • @marisolsierra5918
    @marisolsierra5918 6 років тому

    Hey George! thanks for all this great job!!
    If i want the information of the marker where is how can i put that information on a screen? please help me with that! thank you.

  • @jonmiller5268
    @jonmiller5268 6 років тому

    I'll have to run some tests myself when I get back home, but just thought I'd get some quick feedback if possible.
    Do you think this specific implementation would be a feasible start in estimating the pose of a drone relative to a landing platform? I've been implementing this on a raspberryPi with your help, and the videos have really been great so thank you for that.
    I've noticed it's a bit slow but..I'm hoping that that has more to do with drawing the axis and the calibration portion of the code than actually estimating the pose. Also, I'm hoping to parallelize this process with openMP to give things an extra boost if necessary.
    Thanks again for this great series!

  • @stevensexton5801
    @stevensexton5801 6 років тому +2

    How about one more video George? Determine camera position in a plane x number of feet from the camera with multiple Aruco markers set in a grid pattern. For example, have Aruco markers on the ceiling and determine where you are based on the markers you camera can see.

    • @GeorgeLecakes
      @GeorgeLecakes  6 років тому

      +Steven Sexton the new semester starts up soon and ive been away from youtube for a while. So I am considering new content. Thanks for the idea.

  • @SuhailPrasathong
    @SuhailPrasathong 6 років тому +1

    Hi! I'm trying to get my pose estimation values printed onto console. How do I go about doing this?

  • @opticmaster
    @opticmaster 7 років тому +4

    You have two functions named StartWebcamMonitoring, you say "ups you should probably call it better" but you do not explain which function should stay or be removed (or just renamed), please explain

  • @josueguerra1911
    @josueguerra1911 5 років тому

    about using a fisheye camera (for aruco marker or anything more), it has to be necesary to calibrate the camera to get a plane image, or it could be solved by adjusting the z-axis as you get closer to the center of the camera?

  • @jandrozd7207
    @jandrozd7207 7 років тому

    Would be any difference in the result of detection if you didn't calibrate a camera before? I want to know if it's necessary to calibrate a camera when I want to detect many markers in the image.

  • @HupfDole87
    @HupfDole87 7 років тому

    do you know if the methods are the same if i use emgucv? I wanna use c# and not c++ so i wanna use the wrapper. I just wonder if everything will work as easy with using emgucv instead of opencv. i wanna programm an android app where i need to detect a marker to place an object on it.

  • @ariba002
    @ariba002 5 років тому

    I couldn't do the camera calibration. I don't know why, but when I pressed "space", the camera didn't save any images. What should I do?

  • @MrTommuse
    @MrTommuse 6 років тому

    Thank you very much, you were extremely helpful. That's excactly what I needed for my student AR project. I hope you will make something about openCV in the future.
    I had lots of problems with compatibility between Unity and OpenCV. Now I think I ll get rid of it and I will do everything in c++, I will have to learn OpenGL or DirectX because I am going to work with 3D models.

  • @alperencaykus3154
    @alperencaykus3154 5 років тому

    Hello sir,
    thanks for the detailed tutorials. I want to render images on markers by using OpenGL, but couldn't find any detailed content about it. If you know any, can you share them ? Thanks.

    • @GeorgeLecakes
      @GeorgeLecakes  5 років тому

      While I've done OpenGL in the past, that is something not at all covered in my series. Resources? OpenGL book and work. Pretty much what I had to do to make these videos.

  • @andrazskoda152
    @andrazskoda152 6 років тому +6

    Hello. I succesfully calculated camera matrix. Also, I succesfully detect aruco marcers and get position of them (translational, rotational vectors). But I have a question...How can I know that camera calibration was succesfull? In tutorials there is a very nice explanation how to do it, but I don't know how to check if calibration parameters are right? How can I test if camera is calibrated correctly and how to visualize calibration effect? Thank YOU!

    • @ahmet-kalybek
      @ahmet-kalybek 5 років тому

      Hi. Can you share your code please, I am struggling to get the positions (real world units say mm)

    • @bresolini
      @bresolini 5 років тому

      Well, basically if the axes are correct and if it is in the center of the marker

    • @bresolini
      @bresolini 5 років тому

      @@ahmet-kalybek what's your e-mail?

    • @muhammadarisyaputra1515
      @muhammadarisyaputra1515 5 років тому

      @@bresolini can you send to me, please?

    • @bresolini
      @bresolini 5 років тому

      @@muhammadarisyaputra1515 Yes. What os your e-mail?

  • @ahmet-kalybek
    @ahmet-kalybek 5 років тому

    Hi all, I am a beginner on this, any chance someone could give some directions on how to get the coordinates of aruco markers please?

  • @GabrielPhelix
    @GabrielPhelix 4 роки тому

    Hello, George, thank you so much for this series! I don't know if you can help me, but in last part, when i already did the calibration and then i comment " // cameraCalibrationProcess(cameraMatrix, distanceCoefficients);" and only leave the "loadCameraCalibration("FileName", cameraMatrix, distanceCoefficients);" uncommented, the camera won't start. Do you know what the problem could be?

    • @GabrielPhelix
      @GabrielPhelix 4 роки тому +1

      Ooooooh nevermind haha. I found the solution. I had to change the VideoCapture vid(1) to VideoCapture vid(0); on the int startWebcamMonitoring, and then the camera opened and the aruco was tracked sucessfuly.
      i'm going extra mile by making a chess board with invisible aruco makers on the board houses that only the camera can detect, and make the chess pieces move by itself. This series was very very helpful for that project. T H A N K Y O U so much, George.

  • @danaahmed90
    @danaahmed90 6 років тому

    hello . i want to start to learn this series .. before i start i want to know will i learn hand detecting from it?? am I at the right place ?

    • @GeorgeLecakes
      @GeorgeLecakes  6 років тому +1

      No, I do not cover hand detection.

    • @danaahmed90
      @danaahmed90 6 років тому

      George Lecakes is this a good beginning???like Cana learn this first? Or I should go to find another course??

  • @xiaonan238
    @xiaonan238 6 років тому

    Can I ask what is most probably the reason for me to get the z axis always point to position (0,0) although my x and y axis can point perpendicularly to each other? Is it because sth wrong with my camera parameter because I only use one camera?

    • @GeorgeLecakes
      @GeorgeLecakes  6 років тому

      Nothing to do with only using a single camera. It is most likely your calibration images not capturing depth information for your z-axis.

    • @xiaonan238
      @xiaonan238 6 років тому

      But how can that happen since i follow all the coding ?

  • @kartikkanugo2238
    @kartikkanugo2238 5 років тому

    THe POSE isnot being estimated??

  • @jacobstulzebach9335
    @jacobstulzebach9335 4 роки тому

    Hey George, thx for the good explaination, but could you tell me why my calibration contains 18 rows an it's having these values:
    3
    3
    2254.46
    0
    -243.126
    0
    3045.88
    62.8097
    0
    0
    1
    5
    1
    -0.403774
    -92.399
    0.264449
    0.17226
    461.311
    I imported a video from the iPhone 11 with dual camera system.
    I hope you can help me!
    Kind regards

  • @marisolsierra5918
    @marisolsierra5918 6 років тому

    Hey George I tried this code in the function of startWebcamMonitoring:
    aruco::estimatePoseSingleMarkers(markerCorners, arucosquaredimension, cameraMatrix, distancecoefficient, rotationVectors, translationVectors);
    after this i put this code, i have one question the information that provide in the command prompt is the position of the marker X,Y, Z?
    cout

    • @GeorgeLecakes
      @GeorgeLecakes  6 років тому

      Are you refering to the information I have being outputted in my command prompt, or information you want pushed out to yours?

    • @marisolsierra5918
      @marisolsierra5918 6 років тому

      George Lecakes oh i want to Push out the cordinates x y z in the console and i tried that code it seems like it Works but is that information the values of x y z in rotation and x y z in translation?

    • @adityasondhi265
      @adityasondhi265 6 років тому

      Hello , I tried the code to print the translational and rotational vectors. It works good but the values are not much stable, they fluctuate in the third decimal place. Does it gives any indication to the camera calibration of being good or bad. Also do you have any idea on how to make them stable, because I want to take the precise readings and do some calculations and plots on it.

  • @thangnguyentrimanh3502
    @thangnguyentrimanh3502 3 роки тому

    can anyone help me with this? My code runs successfully but when it comes to the LoadCameraMatrix into the exe.window, there are a bunch of errors that prevents me from loading those parameters in.

  • @jeremyepps474
    @jeremyepps474 5 років тому

    Great video!.Is your code on github? How can I get a copy of your code? Thanks.

    • @GeorgeLecakes
      @GeorgeLecakes  5 років тому

      Code not on github, cause then why watch the video when you can snag and use it for your own. Expectation is to follow along and learn yourself so you can implement yourself. Code is so basic, you shouldn't need a github.

  • @benedictfaustino5705
    @benedictfaustino5705 5 років тому

    Can someone pls help me.. After i commented out the camera calibration process, when i try to run it the webcam doesnt start.

  • @janardhany124
    @janardhany124 7 років тому

    Great man. Can you share source code it will be more helpful.

    • @GeorgeLecakes
      @GeorgeLecakes  7 років тому +4

      These are guided tutorials, not copy and paste examples. If people want the code, they have to at least skip through the video.

  • @robthorn3910
    @robthorn3910 5 років тому

    Criticism: Watching someone typing in code is boring. Can't you type it ahead of time and then talk about it in the video?
    Also, it seems to me that passing long parameter lists is inefficient and the whole process could be improved by going object oriented, creating a class that holds all the data as members so the methods can access it without a lot of parameters. After all, this is C++ and objects are a natural part of it.

    • @GeorgeLecakes
      @GeorgeLecakes  5 років тому

      The idea is that you are working along with me and not just watching the video. Yes you could certainly create an object or a struct and wrap up all those things.