Hello Tello Pilot!
Join our DJI Tello community & remove this banner.
Sign up

Object tracking with Tello

Tracking of green ball by OpenCV. I also modified a bit TelloPy library.

To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.
Hello ,

Could you share your Python code and the modified TelloPy library ?
 
takemymoney.jpg
 
Vtvt, please go on with your great job!!!
An App with object tracking (follow me mode) will be fantastic!
 
Last edited:
  • Like
Reactions: Dean Lighty
[QUOTE = "vtvt, post: 5126, membro: 1081"] Rastreamento de bola verde pelo OpenCV. Eu também modifiquei um pouco a biblioteca TelloPy.

[MEDIA = vimeo] 276778768 [/ MEDIA] [/ QUOTE]
Could you share the code or Github?
Please
 
Great thing
Amazing work
Ill b happy to pay few $ for this app add on.
Guy
 
Yeah I am working on app, will update ASAP

Dear vtvt,

I found there is a significant delay in frame obtained using TelloPy. I even tuned down the bit rate but no help
1) For 3M, I receive ~750K bytes video data for two seconds
2) For 1M, I receive ~250K bytes video data for two seconds
It seems that receiving data is alright, the loading of CPU is just 3X%. I didn't see any remarkable frame skiping , say over 1 second. That means data is really received and processed.

Can you help? Thanks a lot
 
Dear vtvt,

I found there is a significant delay in frame obtained using TelloPy. I even tuned down the bit rate but no help
1) For 3M, I receive ~750K bytes video data for two seconds
2) For 1M, I receive ~250K bytes video data for two seconds
It seems that receiving data is alright, the loading of CPU is just 3X%. I didn't see any remarkable frame skiping , say over 1 second. That means data is really received and processed.

Can you help? Thanks a lot

Use lower resolution: for many OpenCV application you need something like 512x512.
Skip frames if you have delay. Skip first 300 frames. Use WiFi extender. Set video quality slightly lower.
Python:
 drone.set_video_encoder_rate(1)
However I personally like approach with multi threading (no skip frames needed):

Python:
def recv_thread():
    global frameA
    global run_recv_thread
    global drone
    print('start recv_thread()')
    drone = tellopy.Tello()
    drone.connect()
    drone.subscribe(drone.EVENT_FLIGHT_DATA, handler)
    drone.set_video_encoder_rate(1)
    drone.set_loglevel(drone.LOG_WARN)
    container = av.open(drone.get_video_stream())
    while run_recv_thread:
        for f in container.decode(video=0):
            frameA = f
        time.sleep(0.01)

...

threading.Thread(target=recv_thread).start()
...
while run_cv_thread:
    if frameA is None:
        time.sleep(0.01)
    else:
        #do your opencv stuff with frameA
 
  • Like
Reactions: mateustoin

New Posts

Members online

No members online now.

Forum statistics

Threads
5,768
Messages
40,321
Members
17,444
Latest member
N8TheBearAh

New Posts