Implementação de comunicação entre threads no Qt

Estou tendo problema para implementar o cenário a seguir. Minha declaração de problema é assim:

Eu tenho 3 tópicos. ThreadCamera para pegar quadros de uma câmera. ThreadProcess para processamento (fazendo algum processamento de imagem com o OpenCV na imagem / frame agarrado) o frame e o Main GUI Thread para exibir a imagem.Eu não sei quanto tempo ThreadProcess levará para processar uma imagem. Então eu quero passar a imagem de ThreadCamera para ThreadProcess, fazer algum processamento de imagem na imagem e passá-lo para o segmento principal da GUI para exibição.Quando ThreadProcess processa a imagem, o ThreadCamera deve dormir. Ou sejanão deve pegar mais quadros da câmera. Quando o ThreadProcess termina a tarefa de processamento de imagem, ele deve passar a imagem e algumas informações para o Thread da GUI principal. Depois disso, somente o ThreadCamera deve acordar e pegar o próximo quadro / imagem da câmera no thread (ThreadCamera).

Thanx Guys ... depois de alguns comentários para colocar Camera e trabalho de processamento de imagem em um único segmento eu gostaria de saber um outro ponto ..que é ..

E se não quiser dormir a câmera enquanto o processamento está acontecendo? Não importa para mim se eu perder alguns dos quadros pegos pelo CameraThread (que, em qualquer caso, estou perdendo se eu durmo ou não durmo na câmera)

Eu estou usando o QObject para cada processo (Camera Process e Image Processing job) e o comando movetoThread para executá-lo em um determinado thread.

Qualquer insight sobre a implementação e o design do sinal / slot será útil.

questionAnswers(1)

yourAnswerToTheQuestion