mirror of
https://github.com/NotXia/unibo-ai-notes.git
synced 2025-12-14 18:51:52 +01:00
Add IPCV thin lens
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 5.1 KiB |
@ -0,0 +1,280 @@
|
||||
<mxfile host="Electron" modified="2024-03-04T18:04:54.042Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/23.1.5 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="tQZIvrMAFS83YKa2A9_s" version="23.1.5" type="device">
|
||||
<diagram name="Pagina-1" id="GgXEJ81RuVTFlW8kEIqq">
|
||||
<mxGraphModel dx="1157" dy="697" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-40" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 4;strokeWidth=1;rounded=0;strokeColor=#a9a9a9;fontSize=15;fontFamily=Computer modern;" parent="1" edge="1" source="pmmMXLmlx97vjJLDtDmT-38">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="289.67" y="400" as="sourcePoint" />
|
||||
<mxPoint x="289.67" y="240" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-1" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 2;strokeWidth=1;rounded=0;fontSize=15;fontFamily=Computer modern;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="280" y="320" as="sourcePoint" />
|
||||
<mxPoint x="520" y="320" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-3" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=2;strokeColor=#a9a9a9;fontSize=15;fontFamily=Computer modern;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="290" y="370" as="sourcePoint" />
|
||||
<mxPoint x="290" y="270" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-4" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 4;strokeWidth=1;rounded=0;fontSize=15;fontFamily=Computer modern;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="400" y="400" as="sourcePoint" />
|
||||
<mxPoint x="400" y="240" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-5" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;fontSize=15;fontFamily=Computer modern;" parent="1" vertex="1">
|
||||
<mxGeometry x="385" y="250" width="30" height="140" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-6" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=15;fontFamily=Computer modern;" parent="1" vertex="1">
|
||||
<mxGeometry x="390" y="310" width="20" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-7" value="<i style="font-size: 15px;"><font face="Computer modern" style="font-size: 15px;">C</font></i>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" parent="1" vertex="1">
|
||||
<mxGeometry x="388" y="307" width="10" height="10" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-8" value="" style="endArrow=none;dashed=1;html=1;strokeWidth=2;rounded=0;fontSize=15;fontFamily=Computer modern;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="500" y="400" as="sourcePoint" />
|
||||
<mxPoint x="500" y="240" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-9" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=15;fontFamily=Computer modern;" parent="1" vertex="1">
|
||||
<mxGeometry x="490" y="280" width="20" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-12" value="" style="endArrow=none;html=1;rounded=0;fontSize=15;fontFamily=Computer modern;" parent="1" source="pmmMXLmlx97vjJLDtDmT-15" target="pmmMXLmlx97vjJLDtDmT-9" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="290" y="354" as="sourcePoint" />
|
||||
<mxPoint x="490" y="310" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-13" value="<font face="Computer modern" style="font-size: 15px;"><i style="font-size: 15px;">p</i></font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" parent="1" vertex="1">
|
||||
<mxGeometry x="277" y="343" width="10" height="18" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-14" value="<font face="Computer modern" style="font-size: 15px;"><i style="font-size: 15px;">P</i></font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" parent="1" vertex="1">
|
||||
<mxGeometry x="505" y="280" width="10" height="18" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-15" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=15;fontFamily=Computer modern;" parent="1" vertex="1">
|
||||
<mxGeometry x="280" y="344" width="20" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-17" value="<font face="Computer modern" style="font-size: 15px;">Optical axis<br style="font-size: 15px;"></font>" style="text;html=1;align=center;verticalAlign=top;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" parent="1" vertex="1">
|
||||
<mxGeometry x="200" y="305.25" width="77" height="27.5" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-22" value="" style="endArrow=none;html=1;rounded=0;fontSize=15;fontFamily=Computer modern;" parent="1" target="pmmMXLmlx97vjJLDtDmT-9" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="400" y="290" as="sourcePoint" />
|
||||
<mxPoint x="460" y="280" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-23" value="" style="endArrow=none;html=1;rounded=0;fontSize=15;fontFamily=Computer modern;" parent="1" source="pmmMXLmlx97vjJLDtDmT-15" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="340" y="320" as="sourcePoint" />
|
||||
<mxPoint x="400" y="290" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-24" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=15;fontFamily=Computer modern;" parent="1" vertex="1">
|
||||
<mxGeometry x="340" y="310" width="20" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-25" value="<font face="Computer modern" style="font-size: 15px;"><i style="font-size: 15px;">F</i></font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" parent="1" vertex="1">
|
||||
<mxGeometry x="338" y="307" width="10" height="10" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-27" value="<font face="Computer modern" style="font-size: 15px;">Deflected</font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#ff0000;fontSize=15;fontFamily=Computer modern;" parent="1" vertex="1">
|
||||
<mxGeometry x="430" y="250" width="60" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-28" value="<font face="Computer modern" style="font-size: 15px;">Undeflected</font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#ff0000;fontSize=15;fontFamily=Computer modern;" parent="1" vertex="1">
|
||||
<mxGeometry x="410" y="348" width="90" height="16" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-29" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.25;exitY=0;exitDx=0;exitDy=0;entryX=0.906;entryY=0.747;entryDx=0;entryDy=0;entryPerimeter=0;startSize=2;endSize=2;strokeColor=#ff0000;fontSize=15;fontFamily=Computer modern;" parent="1" source="pmmMXLmlx97vjJLDtDmT-28" target="pmmMXLmlx97vjJLDtDmT-6" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="390" y="350" as="sourcePoint" />
|
||||
<mxPoint x="440" y="300" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-30" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.25;exitY=1;exitDx=0;exitDy=0;startSize=2;endSize=2;strokeColor=#ff0000;fontSize=15;fontFamily=Computer modern;" parent="1" source="pmmMXLmlx97vjJLDtDmT-27" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="460" y="358" as="sourcePoint" />
|
||||
<mxPoint x="400" y="290" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-31" value="<i style="font-size: 15px;"><font face="Computer modern" style="font-size: 15px;">i</font></i>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" parent="1" vertex="1">
|
||||
<mxGeometry x="290" y="370" width="110" height="24" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-32" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;startSize=4;endSize=4;fontSize=15;fontFamily=Computer modern;" parent="1" source="pmmMXLmlx97vjJLDtDmT-31" target="pmmMXLmlx97vjJLDtDmT-31" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="380" y="350" as="sourcePoint" />
|
||||
<mxPoint x="430" y="300" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-34" value="<font face="Computer modern" style="font-size: 15px;"><i style="font-size: 15px;">o</i></font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" parent="1" vertex="1">
|
||||
<mxGeometry x="400" y="370" width="100" height="24" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-35" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;startSize=4;endSize=4;fontSize=15;fontFamily=Computer modern;" parent="1" source="pmmMXLmlx97vjJLDtDmT-34" target="pmmMXLmlx97vjJLDtDmT-34" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="490" y="350" as="sourcePoint" />
|
||||
<mxPoint x="540" y="300" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-36" value="<font face="Computer modern" style="font-size: 15px;"><i style="font-size: 15px;">f</i></font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" parent="1" vertex="1">
|
||||
<mxGeometry x="350" y="230.33" width="50" height="19.67" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-37" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;startSize=4;endSize=4;fontSize=15;fontFamily=Computer modern;" parent="1" source="pmmMXLmlx97vjJLDtDmT-36" target="pmmMXLmlx97vjJLDtDmT-36" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="380" y="205.67" as="sourcePoint" />
|
||||
<mxPoint x="430" y="155.67" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-43" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 4;strokeWidth=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=15;fontFamily=Computer modern;" parent="1" source="pmmMXLmlx97vjJLDtDmT-24" target="pmmMXLmlx97vjJLDtDmT-36" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="410" y="410" as="sourcePoint" />
|
||||
<mxPoint x="410" y="250" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-1" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 4;strokeWidth=1;rounded=0;strokeColor=#a9a9a9;fontSize=15;fontFamily=Computer modern;" edge="1" parent="1" target="pmmMXLmlx97vjJLDtDmT-38">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="289.67" y="400" as="sourcePoint" />
|
||||
<mxPoint x="289.67" y="240" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="pmmMXLmlx97vjJLDtDmT-38" value="<font face="Computer modern" style="font-size: 15px;"><i style="font-size: 15px;">I</i></font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" parent="1" vertex="1">
|
||||
<mxGeometry x="285" y="255" width="10" height="10" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-14" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=2;strokeColor=#a9a9a9;fontSize=15;fontFamily=Computer modern;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="200" y="730" as="sourcePoint" />
|
||||
<mxPoint x="200" y="630" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-16" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 2;strokeWidth=1;rounded=0;fontSize=15;fontFamily=Computer modern;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="190" y="680" as="sourcePoint" />
|
||||
<mxPoint x="330" y="680" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-19" value="<font face="Computer modern" style="font-size: 15px;"><i style="font-size: 15px;">F</i></font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" vertex="1" parent="1">
|
||||
<mxGeometry x="186" y="665" width="10" height="10" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-20" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 4;strokeWidth=1;rounded=0;fontSize=15;fontFamily=Computer modern;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="250" y="759.67" as="sourcePoint" />
|
||||
<mxPoint x="250" y="599.67" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-21" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;fontSize=15;fontFamily=Computer modern;" vertex="1" parent="1">
|
||||
<mxGeometry x="235" y="609.67" width="30" height="140" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-22" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=15;fontFamily=Computer modern;" vertex="1" parent="1">
|
||||
<mxGeometry x="240" y="669.67" width="20" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-23" value="<i style="font-size: 15px;"><font face="Computer modern" style="font-size: 15px;">C</font></i>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" vertex="1" parent="1">
|
||||
<mxGeometry x="238" y="666.67" width="10" height="10" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-26" value="<font face="Computer modern" style="font-size: 15px;"><i style="font-size: 15px;">f</i></font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" vertex="1" parent="1">
|
||||
<mxGeometry x="200" y="590" width="50" height="19.67" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-27" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;startSize=4;endSize=4;fontSize=15;fontFamily=Computer modern;" edge="1" parent="1" source="xgRp6pG1FlOqtS_8AdJS-26" target="xgRp6pG1FlOqtS_8AdJS-26">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="230" y="565.34" as="sourcePoint" />
|
||||
<mxPoint x="280" y="515.34" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-29" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 4;strokeWidth=1;rounded=0;strokeColor=#a9a9a9;fontSize=15;fontFamily=Computer modern;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="xgRp6pG1FlOqtS_8AdJS-26">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="200" y="760" as="sourcePoint" />
|
||||
<mxPoint x="199.99999999999997" y="609.67" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-31" value="<i style="font-size: 15px;"><font face="Computer modern" style="font-size: 15px;">i</font></i>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" vertex="1" parent="1">
|
||||
<mxGeometry x="200" y="734" width="50" height="24" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-32" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;startSize=4;endSize=4;fontSize=15;fontFamily=Computer modern;" edge="1" parent="1" source="xgRp6pG1FlOqtS_8AdJS-31" target="xgRp6pG1FlOqtS_8AdJS-31">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="230" y="714" as="sourcePoint" />
|
||||
<mxPoint x="280" y="664" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-33" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=2;strokeColor=#a9a9a9;fontSize=15;fontFamily=Computer modern;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="412" y="730" as="sourcePoint" />
|
||||
<mxPoint x="412" y="630" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-35" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=15;fontFamily=Computer modern;" vertex="1" parent="1">
|
||||
<mxGeometry x="450" y="669.5" width="20" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-36" value="<font face="Computer modern" style="font-size: 15px;"><i style="font-size: 15px;">F</i></font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" vertex="1" parent="1">
|
||||
<mxGeometry x="449" y="665" width="10" height="10" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-37" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 4;strokeWidth=1;rounded=0;fontSize=15;fontFamily=Computer modern;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="508.65999999999997" y="759.67" as="sourcePoint" />
|
||||
<mxPoint x="508.65999999999997" y="599.67" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-38" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;fontSize=15;fontFamily=Computer modern;" vertex="1" parent="1">
|
||||
<mxGeometry x="494" y="609.67" width="30" height="140" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-39" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=15;fontFamily=Computer modern;" vertex="1" parent="1">
|
||||
<mxGeometry x="499" y="669.67" width="20" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-40" value="<i style="font-size: 15px;"><font face="Computer modern" style="font-size: 15px;">C</font></i>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" vertex="1" parent="1">
|
||||
<mxGeometry x="497" y="666.67" width="10" height="10" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-41" value="<font face="Computer modern" style="font-size: 15px;"><i style="font-size: 15px;">f</i></font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" vertex="1" parent="1">
|
||||
<mxGeometry x="459" y="590" width="50" height="19.67" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-42" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;startSize=4;endSize=4;fontSize=15;fontFamily=Computer modern;" edge="1" parent="1" source="xgRp6pG1FlOqtS_8AdJS-41" target="xgRp6pG1FlOqtS_8AdJS-41">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="489" y="565.34" as="sourcePoint" />
|
||||
<mxPoint x="539" y="515.34" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-43" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 4;strokeWidth=1;rounded=0;strokeColor=#a9a9a9;fontSize=15;fontFamily=Computer modern;exitX=0;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="xgRp6pG1FlOqtS_8AdJS-44">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="414" y="758" as="sourcePoint" />
|
||||
<mxPoint x="412" y="598" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-44" value="<i style="font-size: 15px;"><font face="Computer modern" style="font-size: 15px;">i</font></i>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" vertex="1" parent="1">
|
||||
<mxGeometry x="412" y="734" width="98" height="24" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-45" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;startSize=4;endSize=4;fontSize=15;fontFamily=Computer modern;" edge="1" parent="1" source="xgRp6pG1FlOqtS_8AdJS-44" target="xgRp6pG1FlOqtS_8AdJS-44">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="442" y="714" as="sourcePoint" />
|
||||
<mxPoint x="492" y="664" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-46" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 4;strokeWidth=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=15;fontFamily=Computer modern;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="459.83" y="676.67" as="sourcePoint" />
|
||||
<mxPoint x="459.83" y="596.67" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-48" value="<font face="Computer modern" style="font-size: 15px;"><i style="font-size: 15px;">I</i></font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" vertex="1" parent="1">
|
||||
<mxGeometry x="190" y="620" width="10" height="10" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-49" value="<font face="Computer modern" style="font-size: 15px;"><i style="font-size: 15px;">I</i></font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=15;fontFamily=Computer modern;" vertex="1" parent="1">
|
||||
<mxGeometry x="400" y="620" width="10" height="10" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-51" value="" style="endArrow=block;html=1;rounded=0;startSize=4;endSize=4;endFill=1;strokeColor=#ff0000;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="430" y="680" as="sourcePoint" />
|
||||
<mxPoint x="480" y="680" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-52" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 2;strokeWidth=1;rounded=0;fontSize=15;fontFamily=Computer modern;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="400" y="679.47" as="sourcePoint" />
|
||||
<mxPoint x="540" y="680" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="xgRp6pG1FlOqtS_8AdJS-18" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;fontSize=15;fontFamily=Computer modern;" vertex="1" parent="1">
|
||||
<mxGeometry x="190" y="669.5" width="20" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 84 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 41 KiB |
@ -9,5 +9,6 @@
|
||||
\makenotesfront
|
||||
|
||||
\input{./sections/_image_acquisition.tex}
|
||||
\input{./sections/_spatial_filtering.tex}
|
||||
|
||||
\end{document}
|
||||
@ -48,7 +48,7 @@ Geometric model of a pinhole camera.\\
|
||||
|
||||
\begin{minipage}{0.65\textwidth}
|
||||
\begin{description}
|
||||
\setlength\itemsep{0.2em}
|
||||
\setlength\itemsep{0em}
|
||||
\item[Scene point] $M$ (the object in the real world).
|
||||
\item[Image point] $m$ (the object in the image).
|
||||
\item[Image plane] $I$.
|
||||
@ -261,7 +261,7 @@ the ratios of lengths and the parallelism of lines are not preserved.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=0.3\textwidth]{./img/_perspective_projection_ratio.pdf}
|
||||
\includegraphics[width=0.25\textwidth]{./img/_perspective_projection_ratio.pdf}
|
||||
\caption{Example of not preserved ratios. It holds that $\frac{\overline{AB}}{\overline{BC}} \neq \frac{\overline{ab}}{\overline{bc}}$.}
|
||||
\end{figure}
|
||||
|
||||
@ -271,7 +271,7 @@ the ratios of lengths and the parallelism of lines are not preserved.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=0.7\textwidth]{./img/_vanishing_point.pdf}
|
||||
\includegraphics[width=0.6\textwidth]{./img/_vanishing_point.pdf}
|
||||
\caption{Example of vanishing point}
|
||||
\end{figure}
|
||||
\end{description}
|
||||
@ -282,20 +282,251 @@ the ratios of lengths and the parallelism of lines are not preserved.
|
||||
|
||||
\begin{description}
|
||||
\item[Depth of field (DOF)] \marginnote{Depth of field (DOF)}
|
||||
Distance at which a scene point is on focus (i.e. when all its light rays gathered by the imaging device hit the image plane at the same point).
|
||||
Distance at which a scene point is in focus (i.e. when all its light rays gathered by the imaging device hit the image plane at the same point).
|
||||
|
||||
\begin{remark}
|
||||
Because of the small size of the aperture, a pinhole camera has infinite depth of field
|
||||
but requires a long exposure time making it only suitable for static scenes.
|
||||
\end{remark}
|
||||
|
||||
|
||||
\item[Lens] \marginnote{Lens}
|
||||
A lens gathers more light from the scene point and focuses it on a single image point.
|
||||
|
||||
This allows for a smaller exposure time but limits the depth of field (i.e. only a limited range of distances in the image can be on focus at the same time).
|
||||
This allows for a smaller exposure time but limits the depth of field (i.e. only a limited range of distances in the image can be in focus at the same time).
|
||||
|
||||
|
||||
\item[Thin lens] \marginnote{Thin lens}
|
||||
Approximate model for lenses.
|
||||
|
||||
\begin{minipage}{0.65\textwidth}
|
||||
\begin{description}
|
||||
\setlength\itemsep{0em}
|
||||
\item[Scene point] $P$ (the object in the real world).
|
||||
\item[Image point] $p$ (the object in the image).
|
||||
\item[Object--lens distance] $o$.
|
||||
\item[Image--lens distance] $i$ (i.e. focal length of the camera).
|
||||
\item[Center of the lens] $C$.
|
||||
\item[Focal length of the lens] $f$.
|
||||
\item[Focal plane/focus of the lens] $F$.
|
||||
\end{description}
|
||||
\end{minipage}
|
||||
\begin{minipage}{0.4\textwidth}
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{./img/_thin_lens.pdf}
|
||||
\end{minipage}
|
||||
|
||||
A thin lens has the following properties:
|
||||
\begin{itemize}
|
||||
\item Rays hitting the lens parallel to the optical axis are deflected to pass through the focal plane of the lens $F$.
|
||||
\item Rays passing through the center of the lens $C$ are undeflected.
|
||||
\item The following equation holds: \marginnote{Thin lens equation}
|
||||
\[ \frac{1}{o} + \frac{1}{i} = \frac{1}{f} \]
|
||||
\end{itemize}
|
||||
|
||||
\item[Image formation]
|
||||
When the image is in focus, the image formation process follows the normal rules of the perspective projection model where:
|
||||
\begin{itemize}
|
||||
\item $C$ is the optical center.
|
||||
\item $i$ is the focal length of the camera.
|
||||
\end{itemize}
|
||||
|
||||
By fixing the focal length of the lens ($f$),
|
||||
we can determine the distance of the scene point ($o$) or the image point ($i$) required to have the object in focus.
|
||||
\[ \frac{1}{o}+\frac{1}{i} = \frac{1}{f} \iff o = \frac{if}{i - f} \hspace{3em} \frac{1}{o}+\frac{1}{i} = \frac{1}{f} \iff i = \frac{of}{o - f} \]
|
||||
|
||||
\begin{remark}
|
||||
Points projected in front or behind the image plane will create a circle of confusion (blur).
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\begin{subfigure}{0.3\textwidth}
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{./img/thin_lens_formation1.png}
|
||||
\caption{Image in focus}
|
||||
\end{subfigure}
|
||||
\begin{subfigure}{0.3\textwidth}
|
||||
\centering
|
||||
\includegraphics[width=0.8\textwidth]{./img/thin_lens_formation2.png}
|
||||
\caption{Projection behind the image plane}
|
||||
\end{subfigure}
|
||||
\begin{subfigure}{0.3\textwidth}
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{./img/thin_lens_formation3.png}
|
||||
\caption{Projection in front of the image plane}
|
||||
\end{subfigure}
|
||||
\end{figure}
|
||||
\end{remark}
|
||||
|
||||
\item[Adjustable diaphragm] \marginnote{Adjustable diaphragm}
|
||||
Device to control the light gathered by the effective aperture of the lens.
|
||||
|
||||
Reducing the aperture will result in less light and an increased depth of field.
|
||||
|
||||
\begin{remark}
|
||||
On a theoretical level, images that are not in focus appear blurred (circles of confusion).
|
||||
Despite that, if the circle is smaller than the photo-sensing elements (i.e. pixels), it will appear in focus.
|
||||
\end{remark}
|
||||
|
||||
\item[Focusing mechanism] \marginnote{Focusing mechanism}
|
||||
Allows the lens to translate along the optical axis to increase its distance to the image plane.
|
||||
|
||||
At the minimum extension (\Cref{fig:focus_mechanism_min}), we have that:
|
||||
\[ i = f \text{ and } o = \infty \text{ as the thin lens equation states that } \frac{1}{o} + \frac{1}{i} = \frac{1}{f} \]
|
||||
By increasing the extension (i.e. increase $i$), we have that the distance to the scene point $o$ decreases.
|
||||
The maximum extension determines the minimum focusing distance.
|
||||
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\begin{subfigure}{0.4\textwidth}
|
||||
\centering
|
||||
\includegraphics[width=0.45\textwidth]{./img/_focus_mechanism1.pdf}
|
||||
\caption{Minimum extension} \label{fig:focus_mechanism_min}
|
||||
\end{subfigure}
|
||||
\begin{subfigure}{0.4\textwidth}
|
||||
\centering
|
||||
\includegraphics[width=0.45\textwidth]{./img/_focus_mechanism2.pdf}
|
||||
\caption{Maximum extension} \label{fig:focus_mechanism_max}
|
||||
\end{subfigure}
|
||||
\caption{Extension of a focusing mechanism}
|
||||
\end{figure}
|
||||
\end{description}
|
||||
|
||||
|
||||
|
||||
\section{Image digitalization}
|
||||
|
||||
|
||||
\subsection{Sampling and quantization}
|
||||
|
||||
The image plane of a camera converts the received irradiance into electrical signals.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=0.6\textwidth]{./img/_digitalization.pdf}
|
||||
\caption{Image digitalization steps}
|
||||
\end{figure}
|
||||
|
||||
\begin{description}
|
||||
\item[Sampling] \marginnote{Sampling}
|
||||
The continuous electrical signal is sampled to produce a $N \times M$ matrix of pixels:
|
||||
\[
|
||||
I(x, y) = \begin{pmatrix}
|
||||
I(0, 0) & \hdots & I(0, M-1) \\
|
||||
\vdots & \ddots & \vdots \\
|
||||
I(N-1, 0) & \hdots & I(N-1, M-1) \\
|
||||
\end{pmatrix}
|
||||
\]
|
||||
|
||||
\item[Quantization] \marginnote{Quantization}
|
||||
Let $m$ be the number of bits used to encode a pixel.
|
||||
The value of each pixel is quantized into $2^m$ discrete gray levels.
|
||||
|
||||
\begin{remark}
|
||||
A grayscale image usually uses $8$ bits
|
||||
|
||||
An RGB image usually uses $3 \cdot 8$ bits.
|
||||
\end{remark}
|
||||
\end{description}
|
||||
|
||||
\begin{remark}
|
||||
The more bits are used for the representation, the higher the quality of the image will be.
|
||||
\begin{itemize}
|
||||
\item Sampling with fewer bits will result in a lower resolution (aliasing).
|
||||
\item Quantization with fewer bits will result in less representable colors.
|
||||
\end{itemize}
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.7\textwidth]{./img/_digitalization_quality.pdf}
|
||||
\caption{Sampling and quantization using fewer bits}
|
||||
\end{figure}
|
||||
\end{remark}
|
||||
|
||||
|
||||
\subsection{Camera sensors}
|
||||
|
||||
\begin{description}
|
||||
\item[Photodetector] \marginnote{Photodetector}
|
||||
Sensor that, during the exposure time, converts the light into a proportional electrical charge that
|
||||
will be processed by a circuit and converted into a digital or analog signal.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.55\textwidth]{./img/_camera_sensors.pdf}
|
||||
\caption{Components of a camera}
|
||||
\end{figure}
|
||||
|
||||
The two main sensor technologies are:
|
||||
\begin{descriptionlist}
|
||||
\item[Charge Coupled Device (CCD)] \marginnote{Charge Coupled Device (CCD)}
|
||||
Typically produces higher quality images but are more expensive.
|
||||
|
||||
\item[Complementary Metal Oxide Semiconductor (CMOS)] \marginnote{Complementary Metal Oxide Semiconductor (CMOS)}
|
||||
Generally produces lower quality images but is more compact and less expensive.
|
||||
Each sensor has integrated its own circuitry that allows to read an arbitrary window of the sensors.
|
||||
\end{descriptionlist}
|
||||
|
||||
\item[Color sensors] \marginnote{Color sensors}
|
||||
CCD and CMOS sensors are sensitive to a wide spectrum of light frequencies (both visible and invisible) but
|
||||
are unable to sense colors as they produce a single value per pixel.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.35\textwidth]{./img/sensors_sensitivity.png}
|
||||
\caption{CCD and CMOS spectral sensitivity}
|
||||
\end{figure}
|
||||
|
||||
\begin{description}
|
||||
\item[Thin lens equation] \marginnote{Thin lens equation}
|
||||
$\frac{1}{u} + \frac{1}{v} = \frac{1}{f}$
|
||||
\item[Color Filter Array (CFA)] \marginnote{Color Filter Array (CFA)}
|
||||
Filter placed in front of a photodetector to allow it to detect colors.
|
||||
|
||||
Possible approaches are:
|
||||
\begin{descriptionlist}
|
||||
\item[Bayer CFA]
|
||||
A grid of green, blue, and red filters with the greens being twice as much as the others (the human eye is more sensible to the green range).
|
||||
To determine the RGB value of each pixel, missing color channels are sampled from neighboring pixels (demosaicking).
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.15\textwidth]{./img/_bayer_cfa.pdf}
|
||||
\caption{Example of Bayer filter}
|
||||
\end{figure}
|
||||
|
||||
\item[Optical prism]
|
||||
A prism splits the incoming light into 3 RGB beams, each directed to a different sensor.
|
||||
It is more expensive than Bayer CFA.
|
||||
\end{descriptionlist}
|
||||
\end{description}
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsection{Metrics}
|
||||
|
||||
\begin{description}
|
||||
\item[Signal to Noise Ratio (SNR)] \marginnote{Signal to Noise Ratio (SNR)}
|
||||
Quantifies the strength of the actual signal with respect to unwanted noise.
|
||||
|
||||
Sources of noise are:
|
||||
\begin{descriptionlist}
|
||||
\item[Photon shot noise] Number of photons captured during exposure time.
|
||||
\item[Elecronic circuitry noise] Generated by the electronics that read the sensors.
|
||||
\item[Quantization noise] Caused by the digitalization of the image (ADC conversion).
|
||||
\item[Dark current noise] Random charge caused by thermal excitement.
|
||||
\end{descriptionlist}
|
||||
|
||||
SNR is usually expressed in decibels or bits:
|
||||
\[ \texttt{SNR}_\text{db} = 20 \cdot \log_{10}(\texttt{SNR}) \hspace{3em} \texttt{SNR}_\text{bit} = \log_{2}(\texttt{SNR}) \]
|
||||
|
||||
\item[Dynamic Range (DR)] \marginnote{Dynamic Range (DR)}
|
||||
Measures the ability of a sensor to capture both the dark and bright structure of the scene.
|
||||
|
||||
Let:
|
||||
\begin{itemize}
|
||||
\item $E_\text{min}$ be the minimum detectable irradiation. This value depends on the noise.
|
||||
\item $E_\text{max}$ be the saturation irradiation (i.e. the maximum amount of light that fills the capacity of the photodetector).
|
||||
\end{itemize}
|
||||
DR is defined as:
|
||||
\[ \texttt{DR} = \frac{E_\text{max}}{E_\text{mix}} \]
|
||||
As with SNR, DR can be expressed in decibels or bits.
|
||||
\end{description}
|
||||
@ -0,0 +1,46 @@
|
||||
\chapter{Spatial filtering}
|
||||
|
||||
|
||||
\section{Noise}
|
||||
|
||||
The noise added to a pixel $p$ is defined by $n_k(p)$,
|
||||
where $k$ indicates the time step (i.e. noise is different at each time step).
|
||||
It is assumed that $n_k(p)$ is i.i.d and $n_k(p) \sim \mathcal{N}(0, \sigma)$.
|
||||
|
||||
The information of a pixel $p$ is therefore defined as:
|
||||
\[ I_k(p) = \tilde{I}(p) + n_k(p) \]
|
||||
where $\tilde{I}(p)$ is the real information.
|
||||
|
||||
\begin{description}
|
||||
\item[Temporal mean denoising] \marginnote{Temporal mean denoising}
|
||||
Averaging $N$ images taken at different time steps.
|
||||
\[
|
||||
\begin{split}
|
||||
O(p) &= \frac{1}{N} \sum_{k=1}^{N} I_k(p) \\
|
||||
&= \frac{1}{N} \sum_{k=1}^{N} \Big( \tilde{I}(p) + n_k(p) \Big) \\
|
||||
&= \frac{1}{N} \sum_{k=1}^{N} \tilde{I}(p) + \overbrace{\frac{1}{N} \sum_{k=1}^{N} n_k(p)}^{\mathclap{\text{$\mu = 0$}}} \\
|
||||
&\approx \tilde{I}(p)
|
||||
\end{split}
|
||||
\]
|
||||
|
||||
\begin{remark}
|
||||
As multiple images of the same object are required, this method is only suited for static images.
|
||||
\end{remark}
|
||||
|
||||
\item[Spatial mean denoising] \marginnote{Spatial mean denoising}
|
||||
Given one image, average across neighboring pixels.
|
||||
|
||||
Let $K_p$ be the pixels in a window around $p$ (included):
|
||||
\[
|
||||
\begin{split}
|
||||
O(p) &= \frac{1}{\vert K_p \vert} \sum_{q \in K_p} I(p) \\
|
||||
&= \frac{1}{\vert K_p \vert} \sum_{q \in K_p} \Big( \tilde{I}(q) + n(q) \Big) \\
|
||||
&= \frac{1}{\vert K_p \vert} \sum_{q \in K_p} \tilde{I}(q) + \frac{1}{\vert K_p \vert} \sum_{q \in K_p} n(q) \\
|
||||
&\approx \frac{1}{\vert K_p \vert} \sum_{q \in K_p} \tilde{I}(q)
|
||||
\end{split}
|
||||
\]
|
||||
|
||||
\begin{remark}
|
||||
As the average of neighboring pixels is considered, this method is only suited for uniform regions.
|
||||
\end{remark}
|
||||
\end{description}
|
||||
Reference in New Issue
Block a user