Narzędzia użytkownika

Narzędzia witryny


Pasek boczny

Strony:

Linki:

notatki:autofocus

Hardware: Jak działa autofocus?

Wyostrzanie poprzez pomiar odległości (aktywne)

$$ \frac{1}{f} = \frac{1}{o} + \frac{1}{i} $$

Gdzie:

  • $f$ — ogniskowa soczewki (w metrach lub centymetrach),
  • $o$ — odległość przedmiotu od soczewki,
  • $i$ — odległość obrazu od soczewki.

Wyostrzanie poprzez wykrycie Fazy (pasywne)

Sytuacja w której obraz jest wyostrzony na matrycy

Sytuacja w której obraz jest wyostrzony za matrycą

Sytuacja kiedy obraz jest wyostrzony przed matrycą

Wyostrzanie poprzez kontrast (pasywne)

Skrypt w pythonie obliczający sumę wszystkich różnic pomiędzy parami pikseli w obrazku.

get_diff_pixel.py
from PIL import Image
 
def main():
    img = Image.open("greyscale.png").convert("L")
    pixels = list(img.getdata())
    n = len(pixels)
 
    total = 0
    for i in range(n):
        pi = pixels[i]
        for j in range(i + 1, n):
            total += abs(pi - pixels[j])
 
    print(f"Pixels read: {n}")
    print(f"Sum of abs diffs over all pairs: {total}")
 
if __name__ == "__main__":
    main()

Wyniki dla obrazka wyostrzonego

Pixels read: 11970
Sum of abs diffs over all pairs: 4496510654

Wyniki dla obrazka niewyostrzonego

Pixels read: 11970
Sum of abs diffs over all pairs: 3223391491

Źródła

notatki/autofocus.txt · ostatnio zmienione: przez administrator