ID do artigo: 000038064 Tipo de conteúdo: Manutenção e desempenho Última revisão: 08/07/2021

Distância não lida para objetos que não estão no centro com câmeras Intel® RealSense™ usando Python

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Resumo

Como alterar o código usando OpenCV para obter a distância entre Intel® RealSense™ série D400 e um objeto

Descrição

Reescrevo o programa em python para medir distância. Link para a fonte.

while True:
       frames = pipeline.wait_for_frames()
       depth_frame = frames.get_depth_frame()
       if not depth_frame: continue
        width = depth_frame.get_width()
        height = depth_frame.get_height()
        #print(width,height)
        
        #Calculate distance
        dist_to_center = depth_frame.get_distance(int(width/2), int(height/2))
        print('The camera is facing an object:',dist_to_center,'meters away')


Ele desintente a distância conforme o esperado, mas se eu mover o objeto para outro local, ele não me dará mais informações de distância.

Resolução

Na linha:

dist_to_center = depth_frame.get_distance(int(width/2), int(height/2))

você está lendo a distância apenas do centro do fluxo, e não de qualquer ponto.

Se você quiser distância de qualquer ponto, talvez seja melhor verificar o exemplo do OpenCV DNN,que classifica e o objeto usando o fluxo RGB (vermelho, verde, azul) e depois usa o fluxo de profundidade para calcular a distância do objeto da câmera.

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.