Vady optiky¶
Cílem cvičení je se seznámit s odstranitelnými a neodstranitelnými vadami optiky, které náš život sužují během jakékoliv úlohy strojového vidění. Na začátku zjistíme, jak vady vznikají a jak jednotlivá nastavení kamery/objektivu ovlivňují jejich intenzitu. V druhém notebooku nás čeká úloha odstranění distorze.
Některé vady jsou viditelné pouze na některých objektivech. V naší laboratoři se nejčastěji setkáte s následujícími objektivy, které jednotlivé optické vady hezky demonstrují:
Dostupné ohniskové vzdálenosti | 4 mm | 8 mm | 12 mm | 16 mm | 25 mm | 35mm | 50 mm | 75 mm |
---|---|---|---|---|---|---|---|---|
Kowa | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
Computar | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
Při výběru objektivu je důležité zohlednit, pro jaký senzor je daný objektiv určen.
Dostupné objektivy Kowa jsou určeny pro senzory velikosti 1", které mají rozměry 12,8 mm x 9,6 mm.
Kowa | pro senzor | prac. vzdálenost [mm] |
---|---|---|
12 mm | 1" | 100 |
16 mm | 1" | 100 |
25 mm | 1" | 150 |
35 mm | 1" | 200 |
50 mm | 1" | 300 |
Objektivy Computar jsou určeny pro senzory velikosti 2/3", které mají rozměry 8,8 mm x 6,6 mm.
Computar | pro senzor | prac. vzdálenost [mm] |
---|---|---|
8 mm | 2/3" | 100 |
12 mm | 2/3" | 150 |
16 mm | 2/3" | 300 |
25 mm | 2/3" | 300 |
50 mm | 2/3" | 500 |
75 mm | 2/3" | 300 |
Instrukce ke cvičení¶
- Před snímáním nastavte správně white balance kamery
- Pro každou vadu nasnímáme snímek, na kterém bude vada co nejvíce viditelná, ale také snímek, na kterém se vada projevuje co nejméně. Na základě toho budeme vědět, jak se daná vada chová při jakém nastavení a jaký kompromis zvolit, abychom se ji co nejvíce vyvarovali.
- Pro demonstraci každé vady vždy vyberte vhodný objektiv, abychom měli co porovnávat.
- Snažte se objektivy vybírat tak, aby to pro danou vadu dávalo smysl. Zároveň se pokuste zamyslet, co přesně snímat (např. na čem mohu v labu vyzkoušet aberaci).
- Všechny snímky před a po úpravách musí být stejně exponované. To znamená, že budou podobně světlé - mají podobný histogram
Import knihoven a konfigurace¶
from improutils import *
Pomocné funkce¶
Z následujících funkcí je potřeba vybírat ty vhodné pro splnění úkolu.
Seznam funkcí pro přehlednost:
plot_images(...)
- improutilsload_image(...)
- improutils
1) Vinětace¶
Vytvořte snímek s co nejvíce viditelnou vadou vinětace. Následně snímejte stejnou scénu, ale nastavte vhodně kameru/objektiv, aby se vinětace projevila co nejméně. Snímky načtěte a zobrazte.
img_visible_vignette = ...(...) ###
img_minimized_vignette = ...(...) ###
...(img_visible_vignette, titles=["Visible vignette"]) ###
...(img_minimized_vignette, titles=["Minimized vignette"]) ###
2) Chromatická aberace¶
Vytvořte snímek s co nejvíce viditelnou vadou chromatické aberace. Následně snímejte stejnou scénu, ale nastavte vhodně kameru/objektiv, aby se chromatická aberace projevila co nejméně. Snímky načtěte a zobrazte.
img_visible_abber = ...(...) ###
img_minimized_abber = ...(...) ###
...(img_visible_abber, titles=["Visible chromatic abberation"]) ###
...(img_minimized_abber, titles=["Minimized chromatic abberation"]) ###
3) Difrakce¶
Vytvořte alespoň 5 snímků viz. přednáška, při snímání postupně zvyšujte clonové číslo od nejmenšího po největší, tak ať se co nejvíce projeví vada difrakce. Snažte se, aby byl histogram snímků podobný. Tj. aby byly snímky stejně exponované. Se zvyšujícím se clonovým číslem musíte prodlužovat expoziční čas, v malé míře můžete zvyšit také Gain.
imgs_diffraction = {...} ### use format {img_path: f_stop}
for img_path, f_stop in imgs_diffraction.items():
img = ...(img_path) ###
...(img, titles=[f"{img_path}, f stop: {f_stop}"]) ###
4) Sweetspot¶
Vyberte snímek, z úkolu č. 3, při němž byl objektiv v tzv. sweet spotu. Popiště jaké clonové číslo jste zvolili a proč.
img_sweet_spot = ...(...) ###
...(img_sweet_spot, titles=["Sweet spot"]) ###