2010-05-21 14 views
5

Disons que nous avons une image comme siComment mesurer les distances dans une image?

alt text http://www.curiousexpeditions.org/North%20Reading%20Room,%20UC%20Berkeley,%20California,%20USA.jpg

Disons que nous avons déjà utilisé des filtres et un algorithme de détection de bord dans cette image. Maintenant, mon objectif est de mesurer les distances (pas les distances réelles, la distance peut être dans n'importe quelle unité arbitraire). Par exemple: Comment puis-je trouver la longueur de la salle? (jusqu'à la fenêtre)

Ou la hauteur des étagères? Comment exactement placez vous l'échelle et la mesure. Je cherche des idées. Cependant, il serait utile si les réponses étaient en termes d'OpenCV.

+1

vous aurez besoin d'une vision industrielle telle que la suite NI VISION DE LA MACHINE ... par la façon dont ce que vous utilisez C#, vb, LabVIEW? – Luiscencio

Répondre

0

Cela dépend de ce que vous essayez de faire.

Vous mentionnez que vous voulez mesurer la hauteur des étagères. Si c'est OK avec vous de considérer la zone proche de la bibliothèque "plus courte" que la hauteur de la fin de la bibliothèque à la fin de la rangée, tout ce que vous cherchez est de mesurer la distance. Choisissez une unité de "pixels" puis mesurez la distance en utilisant le théorème de Pythagore. (x^2 + y^2 = z^2)

Ce que vous cherchez probablement, c'est que la hauteur de la bibliothèque soit la même que la hauteur de la bibliothèque. Dans ce cas, vous devez avoir plus d'informations. Vous devez faire une transformation 2D -> 3D: Vous avez une image 2D et vous devez reconstruire une image 3D à partir de cette image. À ce stade, vous avez besoin d'une troisième information, puisque vous voulez 3 variables (X, y, z) à partir de 2 variables.

Vous pouvez certainement le faire avec OpenCV si vous étalonnez correctement le système et disposez d'un second point de référence (par exemple, une ligne laser). Ceci est connu comme une approche légère structurée - voir this link pour plus d'informations ou google "lumière structurée machine vision"

0

Puisque vous pouvez supposer qu'une bibliothèque est parallèle à celle ci-dessous, alors la distance réelle entre les étagères est égale à n'importe quel moment. Vous pouvez déterminer qu'après X pixels de profondeur, la hauteur perçue diminue de Y%. Vous devriez être en mesure d'établir un modèle clair rapidement. Toutes les lignes parallèles et les angles droits dans votre espace réel faciliteront les calculs.

Tracez quelques points de départ au début et à la fin de chaque bibliothèque. Vous pouvez trouver les sujets de mathématiques pertinents ici:
http://en.wikipedia.org/wiki/Slope
http://en.wikipedia.org/wiki/Cartesian_coordinate_system