En général, il s'agit d'un problème de segmentation d'image ( http://en.wikipedia.org/wiki/Image_segmentation ) dans lequel vous essayez d'isoler les zones focalisées vers les régions non focalisées de l'image.
Les lentilles optiques sont de toute façon équivalentes aux filtres passe-bas et l'effet d'un filtre passe-bas sur un signal est de le lisser en limitant le contenu de fréquence plus élevée.
En traitement d'image numérique, les basses fréquences correspondent aux gros objets (forme générale) et les hautes fréquences correspondent aux petits objets (détails).
Par conséquent, pour isoler la zone mise au point, vous pouvez rechercher des zones dont l'écart type est supérieur à celui des zones floues qui seraient à un écart type inférieur en raison de l'opération de lissage de l'objectif flou.
M× N
M× N
Dans le cas de l'image dans votre message, l'histogramme est susceptible de présenter deux modes. Un correspondant à des valeurs relativement élevées d'écart type (zone focalisée) et un correspondant à des valeurs relativement faibles d'écart type (zones floues).
Vous pouvez ensuite positionner un seuil, par exemple juste entre les deux modes pour établir un critère entre vos régions focalisées et non focalisées puis sélectionner tous les "patchs" (ou zones de fenêtre MxN) dont l'écart-type est supérieur à votre seuil. (Pour plus d'informations, veuillez consulter: http://en.wikipedia.org/wiki/Thresholding_%28image_processing%29 )
Cela isolera pour vous les parties focalisées de l'image.
J'espère que cela t'aides.
Voici une approche plus simple, qui n'implique pas d'analyse de fenêtre coulissante.
Convertissez votre image en niveaux de gris (ce n'est pas obligatoire, mais je suppose que vous n'avez qu'un seul canal pour plus de clarté)
Calculez le gradient dans les deux directions
Calculer la magnitude (ou juste mettre le gradient au carré)
Additionner les deux images de dégradé dans les deux directions
Comme cela a déjà été dit, la partie focalisée de l'image aura des fréquences plus élevées que la zone non focalisée. À partir de la sommation, vous vous retrouverez avec deux projections, où il y a beaucoup de variations (valeurs plus élevées) dans la partie où l'objet focalisé est placé dans cette direction. Vous pouvez maintenant effectuer les opérations suivantes:
Déterminez le point de début et de fin de ces valeurs supérieures. Vous pouvez utiliser un seuil simple (par exemple 0,7 * valeur_maximale) ou lisser les profils, prendre la dérivée seconde et vérifier les valeurs les plus élevées.
Les positions Start / Stop de l'étape précédente vous donnent les positions des pixels dans les deux directions où placer votre rectangle indiquant la zone de netteté.
la source