Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Advise for Qthreads and the opencv frame processing sequentially



  • Hi,

    I have an object detector thread (created with move thread) and looks slow to catch up current fps from camera.

    I want to separate stream capture (cv::cap) 1 thread and it will distribute the task (object detection) to the other threads (6 threads).

    1 thread -> UI
    1 thread for stream capture and sending the frames to the worker threads
    6 threads for object detection and send back to results to the capture thread .

    But I dont want to lose frame sequence. I mean I wan to show results in the screen as normal frame sequence. If som thread sends the processed frame before the previous frame it should wait its ques to show.

    Basicly:
    send frame numbers : 1 ,2 , 3 ,4 ,5

    get result and show them as soon as awailable in same sequence 1 , 2 , 3 ,4

    suggestions :)


  • Lifetime Qt Champion

    Hi,

    Based on your other thread: big GPU + stronger machine. 6 streams with high definition images can't be processed in real time if you don't have the hardware that follows.



  • This is another issue. Other thread for 6 live stream just showing on the screen through opencv.

    This one only one stream an 8 cores i7 machine.

    I wan to utilize all possible cores for object detection which send them individual frames and get back to show on the screen.

    How can I show them again in right sequence


  • Lifetime Qt Champion

    My recommendation still stands: you should consider exploiting a GPU to speed up processing of your images rather than parallelising on your CPUs.



  • try to keep budget down..
    1080ti almost 800 usd..

    if I have 8 cores I should used it.


Log in to reply