Narzędzia użytkownika

Narzędzia witryny


notatki:autofocus

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Poprzednia rewizja po obu stronachPoprzednia wersja
Nowa wersja
Poprzednia wersja
notatki:autofocus [2025/05/21 20:01] – Embedded diagram updated administratornotatki:autofocus [2025/05/21 20:44] (aktualna) administrator
Linia 1: Linia 1:
 ====== Hardware: Jak działa autofocus? ====== ====== Hardware: Jak działa autofocus? ======
  
-====== Wyostrzanie poprzez pomiar odległości (pasywne) ======+narzędzia wykorzystane: 
 +  * https://phydemo.app/ray-optics/simulator/ 
 +  * https://imagej.net/ij/
  
-<diagram><svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="781px" height="521px" viewBox="-0.5 -0.5 781 521" content="&lt;mxfile host=&quot;wiki.ostrowski.net.pl&quot; agent=&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:138.0Gecko/20100101 Firefox/138.0&quot; version=&quot;26.2.15&quot;&gt;&lt;diagram id=&quot;n8wXLaJmdUOnrmWR8LpH&quot; name=&quot;Page-1&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="3"><g><path d="M 257 249.5 L 221 249.5 C 214.37 249.5 209 257.34 209 267 C 209 276.66 214.37 284.5 221 284.5 L 257 284.5" fill="#ffff99" style="filllight-dark(rgb(255, 255, 153), rgb(31, 31, 0)); strokelight-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="257" cy="267" rx="12" ry="17.5" fill="#ffff99" style="fill: light-dark(rgb(255, 255, 153), rgb(31, 31, 0)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g></g><g data-cell-id="6"><g><path d="M 269 302 L 680 287 L 280.96 267.58" fill="none" stroke="#ff0000" style="stroke: light-dark(rgb(255, 0, 0), rgb(255, 144, 144));" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 273.47 267.22 L 283.7 262.71 L 280.96 267.58 L 283.21 272.7 Z" fill="#ff0000" style="fill: light-dark(rgb(255, 0, 0), rgb(255, 144, 144)); stroke: light-dark(rgb(255, 0, 0), rgb(255, 144, 144));" stroke="#ff0000" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="7"><g><rect x="209" y="219.5" width="60" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 235px; margin-left: 210px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 20px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Detector</div></div></div></foreignObject><text x="239" y="241" fill="light-dark(#000000, #ffffff)" font-family="&quot;Helvetica&quot;" font-size="20px" text-anchor="middle">Detect...</text></switch></g></g></g><g data-cell-id="10"><g><path d="M 400 419.5 L 673.63 419.5" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 678.88 419.5 L 671.88 423 L 673.63 419.5 L 671.88 416 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="11"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 430px; margin-left: 671px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">t</div></div></div></foreignObject><text x="671" y="433" fill="light-dark(#000000, #ffffff)" font-family="&quot;Helvetica&quot;" font-size="11px" text-anchor="middle">t</text></switch></g></g></g></g><g data-cell-id="12"><g><path d="M 410 419.5 Q 430 409.5 445 364.5 Q 460 319.5 480 419.5" fill="none" stroke="#2e0eff" style="stroke: light-dark(rgb(46, 14, 255), rgb(211, 184, 255));" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="15"><g><path d="M 450 459.5 L 450 329.5" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="2 6" pointer-events="stroke"/></g></g><g data-cell-id="16"><g><path d="M 600 459.5 L 600 329.5" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="2 6" pointer-events="stroke"/></g></g><g data-cell-id="17"><g><path d="M 456.37 439.5 L 593.63 439.5" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 451.12 439.5 L 458.12 436 L 456.37 439.5 L 458.12 443 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 598.88 439.5 L 591.88 443 L 593.63 439.5 L 591.88 436 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="18"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 443px; margin-left: 530px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 16px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-eventsall; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">time</div></div></div></foreignObject><text x="530" y="448" fill="light-dark(#000000#ffffff)" font-family="&quot;Helvetica&quot;" font-size="16px" text-anchor="middle">time</text></switch></g></g></g></g><g data-cell-id="20"><g><rect x="440" y="469.5" width="170" height="50" rx="7.5" ry="7.5" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 495px; margin-left: 441px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 15px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">= speed x time </div></div></div></foreignObject><text x="525" y="499" fill="light-dark(#000000, #ffffff)" font-family="&quot;Helvetica&quot;" font-size="15px" text-anchor="middle">= speed x time </text></switch></g></g></g><g data-cell-id="21"><g><path d="M 400 469.5 L 400 325.87" fill="none" stroke="#000000" style="stroke: light-dark(rgb(00, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 400 320.62 L 403.5 327.62 L 400 325.87 L 396.5 327.62 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="22"><g><rect x="319" y="377" width="121" height="30" fill="none" stroke="none" transform="rotate(-90,379.5,392)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)rotate(-90 379.5 392)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 119px; height: 1px; padding-top: 392px; margin-left: 320px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 20px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Light Level</div></div></div></foreignObject><text x="380" y="398" fill="light-dark(#000000, #ffffff)" font-family="&quot;Helvetica&quot;" font-size="20px" text-anchor="middle">Light Level</text></switch></g></g></g><g data-cell-id="24"><g><path d="M 560 419.5 Q 580 409.5 595 364.5 Q 610 319.5 630 419.5" fill="none" stroke="#2e0eff" style="stroke: light-dark(rgb(46, 14, 255), rgb(211, 184, 255));" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="28"><g/><g data-cell-id="25"><g><path d="M 237.51 227 Q 202.51 162 237.51 97" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="27"><g><path d="M 237.51 227 Q 272.51 162 237.51 97" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/></g></g></g><g data-cell-id="29"><g><path d="M 129.71 197 L 129.71 127" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-width="6" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="30"><g><rect x="100" y="198.25" width="60" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 213px; margin-left: 101px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 20px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">CCD</div></div></div></foreignObject><text x="130" y="219" fill="light-dark(#000000, #ffffff)" font-family="&quot;Helvetica&quot;" font-size="20px" text-anchor="middle">CCD</text></switch></g></g></g><g data-cell-id="31"><g><path d="M 240 117 L 730 117" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/></g></g><g data-cell-id="4"><g><path d="M 257 284.5 L 221 284.5 C 214.37 284.5 209 292.34 209 302 C 209 311.66 214.37 319.5 221 319.5 L 257 319.5" fill="#ffff99" style="fill: light-dark(rgb(255, 255, 153), rgb(31, 31, 0)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="257" cy="302" rx="12" ry="17.5" fill="#ffff99" style="fill: light-dark(rgb(255, 255, 153), rgb(31, 31, 0)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g></g><g data-cell-id="8"><g><rect x="207.51" y="319.5" width="60" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 335px; margin-left: 209px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 20px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Laser</div></div></div></foreignObject><text x="238" y="341" fill="light-dark(#000000, #ffffff)" font-family="&quot;Helvetica&quot;" font-size="20px" text-anchor="middle">Laser</text></switch></g></g></g><g data-cell-id="35"><g><ellipse cx="730" cy="141.06" rx="25" ry="24.0625" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/><path d="M 730 165.13 L 730 245.33 M 730 181.17 L 680 181.17 M 730 181.17 L 780 181.17 M 730 245.33 L 680 309.5 M 730 245.33 L 780 309.5" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="38"><g><path d="M 240 217 L 730 213.25" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/></g></g><g data-cell-id="39"><g><path d="M 60 187 L 240 117" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/></g></g><g data-cell-id="40"><g><path d="M 60 117 L 240 217" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/></g></g><g data-cell-id="45"><g><path d="M 0 90 L 0 67 L 330 67 L 330 90" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 0 90 L 0 357 L 330 357 L 330 90" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="none"/><path d="M 0 90 L 330 90" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="none"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 328px; height: 1px; padding-top: 79px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">Camera</div></div></div></foreignObject><text x="165" y="82" fill="light-dark(#000000, #ffffff)" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle" font-weight="bold">Camera</text></switch></g></g><g data-cell-id="57"><g><ellipse cx="60.25" cy="125.75" rx="8.375" ry="8.75" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" transform="rotate(-180,60.25,152)" pointer-events="all"/><path d="M 60.25 134.5 L 60.25 163.67 M 60.25 140.33 L 43.5 140.33 M 60.25 140.33 L 77 140.33 M 60.25 163.67 L 43.5 187 M 60.25 163.67 L 77 187" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" transform="rotate(-180,60.25,152)" pointer-events="all"/></g></g></g><g data-cell-id="46"><g><path d="M 240 97 L 240 13.37" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 240 8.12 L 243.5 15.12 L 240 13.37 L 236.5 15.12 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="47"><g><path d="M 730 117 L 729.68 13.37" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 729.66 8.12 L 733.19 15.11 L 729.68 13.37 L 726.19 15.13 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="48"><g><path d="M 246.37 27 L 723.63 27" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 241.12 27 L 248.12 23.5 L 246.37 27 L 248.12 30.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 728.88 27 L 721.88 30.5 L 723.63 27 L 721.88 23.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="49"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 29px; margin-left: 496px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 22px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">o</div></div></div></foreignObject><text x="496" y="36" fill="light-dark(#000000, #ffffff)" font-family="&quot;Helvetica&quot;" font-size="22px" text-anchor="middle">o</text></switch></g></g></g></g><g data-cell-id="52"><g><path d="M 130 157 L 130 13.37" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 130 8.12 L 133.5 15.12 L 130 13.37 L 126.5 15.12 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="53"><g><path d="M 233.63 47 L 136.37 47" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 238.88 47 L 231.88 50.5 L 233.63 47 L 231.88 43.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 131.12 47 L 138.12 43.5 L 136.37 47 L 138.12 50.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="54"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 45px; margin-left: 183px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 20px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">f</div></div></div></foreignObject><text x="183" y="51" fill="light-dark(#000000, #ffffff)" font-family="&quot;Helvetica&quot;" font-size="20px" text-anchor="middle">f</text></switch></g></g></g></g><g data-cell-id="59"><g><path d="M 60 167 L 60 13.37" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 60 8.12 L 63.5 15.12 L 60 13.37 L 56.5 15.12 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="60"><g><path d="M 123.63 47 L 66.37 47" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 128.88 47 L 121.88 50.5 L 123.63 47 L 121.88 43.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 61.12 47 L 68.12 43.5 L 66.37 47 L 68.12 50.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="64"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 47px; margin-left: 98px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 20px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">i</div></div></div></foreignObject><text x="98" y="53" fill="light-dark(#000000, #ffffff)" font-family="&quot;Helvetica&quot;" font-size="20px" text-anchor="middle">i</text></switch></g></g></g></g></g></g></g></svg></diagram>+====== Wyostrzanie poprzez pomiar odległości (aktywne) ====== 
 + 
 +{{ :notatki:autofocus1.svg |}} 
 + 
 +$$ 
 +\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) ====== ====== Wyostrzanie poprzez wykrycie Fazy (pasywne) ======
Linia 30: Linia 44:
  
 <diagram><svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="931px" height="144px" viewBox="-0.5 -0.5 931 144" content="&lt;mxfile host=&quot;wiki.ostrowski.net.pl&quot; agent=&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:138.0) Gecko/20100101 Firefox/138.0&quot; version=&quot;26.2.15&quot;&gt;&lt;diagram id=&quot;mRD1LMbev2ZDhoJVxo4r&quot; name=&quot;Page-1&quot;&gt;1VfLjtsgFP0aL0cCk1eXSTpuF61UNYuukbmx0WCwMEmcfn0hxu882iqTUbxI8PHl3Mu5J4YEZJ2VXzTN0++KgQhCxMqAfA5Ce81n9sshxwpZYFIBieasgnALbPhv8CDy6I4zKHqBRilheN4HYyUlxKaHUa3VoR+2VaKfNacJjIBNTMUY/cWZSf0qpqjFvwJP0jozRv5JRutgDxQpZerQgchrQNZaKVONsnINwolX61LNiy48bQrTIM3fTAirCXsqdn5tvi5zrBcLki2dZvYuFrQoeByQVWGoNmM4NZmwALZDrXaSgUuD7F3FCmyka1sobpZvfQMqA6OPNuTQClzrm3a0rTENghq+79NT3+ekoWsy/FDcJg6R9+QLrom8JScz1Oco1E7H4Kd1FR0wzW8RWeUSMCMiO+isu4VODTvfPHK7efFO709NcC3pdFIqCdf6VRit3hpzhw2yVkLpEzWJImSv2gsRd2U+Ra/x/E6tnt0iutBq2wR67ITlLqC4XPBkmGeCrtY1Jf14srgRv7jKbwdVxf/r08mH+hQvo4jgJ/Tpy92MSshjjIqHeW4YFX8aGHV+PT6cvK9RpyOjfuMSqHZeBVkoN8h5CaIYGdhAafpGpYIn0u2O1k1gvbjagzbcHiKW/kHGGXPTV4eUG9jkNHZcB3tkurB9OgIo/9WstXZ4et4DHTM3B6yum8nAK13j9javK8LORsL+PBlLbe2HOOUK0fLBom6VNOfeE/cQe/BDmKKx2LN30nr+BFo3Z4c7aE3Qw7S2t+3RvHq/tH9wyOsf&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="2"><g><path d="M 27.37 73 L 914.63 73" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 22.12 73 L 29.12 69.5 L 27.37 73 L 29.12 76.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 919.88 73 L 912.88 76.5 L 914.63 73 L 912.88 69.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="3"><g><path d="M 341 73 Q 641 53 671 23 Q 701 -7 726 23 Q 751 53 841 73" fill="none" stroke="#ff0000" style="stroke: light-dark(rgb(255, 0, 0), rgb(255, 144, 144));" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="4"><g><path d="M 1 73 Q 301 53 331 18 Q 361 -17 386 18 Q 411 53 501 73" fill="none" stroke="#1aff31" style="stroke: light-dark(rgb(26, 255, 49), rgb(0, 127, 0));" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="5"><g><rect x="386" y="73" width="210" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 208px; height: 1px; padding-top: 88px; margin-left: 387px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Linear sensor pixels</div></div></div></foreignObject><text x="491" y="92" fill="light-dark(#000000, #ffffff)" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Linear sensor pixels</text></switch></g></g></g><g data-cell-id="6"><g><rect x="401" y="113" width="60" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 128px; margin-left: 402px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #1AFF31; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#1AFF31, #007f00); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Ray of light A</div></div></div></foreignObject><text x="431" y="132" fill="#1AFF31" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Ray of lig...</text></switch></g></g></g><g data-cell-id="7"><g><rect x="471" y="113" width="60" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 128px; margin-left: 472px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #FF0000; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#FF0000, #ff9090); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Ray of light A</div></div></div></foreignObject><text x="501" y="132" fill="#FF0000" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Ray of lig...</text></switch></g></g></g></g></g></g></svg></diagram> <diagram><svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="931px" height="144px" viewBox="-0.5 -0.5 931 144" content="&lt;mxfile host=&quot;wiki.ostrowski.net.pl&quot; agent=&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:138.0) Gecko/20100101 Firefox/138.0&quot; version=&quot;26.2.15&quot;&gt;&lt;diagram id=&quot;mRD1LMbev2ZDhoJVxo4r&quot; name=&quot;Page-1&quot;&gt;1VfLjtsgFP0aL0cCk1eXSTpuF61UNYuukbmx0WCwMEmcfn0hxu882iqTUbxI8PHl3Mu5J4YEZJ2VXzTN0++KgQhCxMqAfA5Ce81n9sshxwpZYFIBieasgnALbPhv8CDy6I4zKHqBRilheN4HYyUlxKaHUa3VoR+2VaKfNacJjIBNTMUY/cWZSf0qpqjFvwJP0jozRv5JRutgDxQpZerQgchrQNZaKVONsnINwolX61LNiy48bQrTIM3fTAirCXsqdn5tvi5zrBcLki2dZvYuFrQoeByQVWGoNmM4NZmwALZDrXaSgUuD7F3FCmyka1sobpZvfQMqA6OPNuTQClzrm3a0rTENghq+79NT3+ekoWsy/FDcJg6R9+QLrom8JScz1Oco1E7H4Kd1FR0wzW8RWeUSMCMiO+isu4VODTvfPHK7efFO709NcC3pdFIqCdf6VRit3hpzhw2yVkLpEzWJImSv2gsRd2U+Ra/x/E6tnt0iutBq2wR67ITlLqC4XPBkmGeCrtY1Jf14srgRv7jKbwdVxf/r08mH+hQvo4jgJ/Tpy92MSshjjIqHeW4YFX8aGHV+PT6cvK9RpyOjfuMSqHZeBVkoN8h5CaIYGdhAafpGpYIn0u2O1k1gvbjagzbcHiKW/kHGGXPTV4eUG9jkNHZcB3tkurB9OgIo/9WstXZ4et4DHTM3B6yum8nAK13j9javK8LORsL+PBlLbe2HOOUK0fLBom6VNOfeE/cQe/BDmKKx2LN30nr+BFo3Z4c7aE3Qw7S2t+3RvHq/tH9wyOsf&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="2"><g><path d="M 27.37 73 L 914.63 73" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 22.12 73 L 29.12 69.5 L 27.37 73 L 29.12 76.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 919.88 73 L 912.88 76.5 L 914.63 73 L 912.88 69.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="3"><g><path d="M 341 73 Q 641 53 671 23 Q 701 -7 726 23 Q 751 53 841 73" fill="none" stroke="#ff0000" style="stroke: light-dark(rgb(255, 0, 0), rgb(255, 144, 144));" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="4"><g><path d="M 1 73 Q 301 53 331 18 Q 361 -17 386 18 Q 411 53 501 73" fill="none" stroke="#1aff31" style="stroke: light-dark(rgb(26, 255, 49), rgb(0, 127, 0));" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="5"><g><rect x="386" y="73" width="210" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 208px; height: 1px; padding-top: 88px; margin-left: 387px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Linear sensor pixels</div></div></div></foreignObject><text x="491" y="92" fill="light-dark(#000000, #ffffff)" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Linear sensor pixels</text></switch></g></g></g><g data-cell-id="6"><g><rect x="401" y="113" width="60" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 128px; margin-left: 402px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #1AFF31; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#1AFF31, #007f00); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Ray of light A</div></div></div></foreignObject><text x="431" y="132" fill="#1AFF31" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Ray of lig...</text></switch></g></g></g><g data-cell-id="7"><g><rect x="471" y="113" width="60" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 128px; margin-left: 472px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #FF0000; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#FF0000, #ff9090); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Ray of light A</div></div></div></foreignObject><text x="501" y="132" fill="#FF0000" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Ray of lig...</text></switch></g></g></g></g></g></g></svg></diagram>
 +
 +====== Wyostrzanie poprzez kontrast (pasywne) ======
 +
 +Skrypt w pythonie obliczający sumę wszystkich różnic pomiędzy parami pikseli w obrazku.
 +
 +<code python 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()
 +
 +</code>
 +
 +===== Wyniki dla obrazka wyostrzonego =====
 +
 +{{.:pasted:20250521-204417.png}}
 +
 +<code>
 +Pixels read: 11970
 +Sum of abs diffs over all pairs: 4496510654
 +</code>
 +
 +===== Wyniki dla obrazka niewyostrzonego =====
 +
 +{{.:pasted:20250521-204252.png}}
 +
 +<code>
 +Pixels read: 11970
 +Sum of abs diffs over all pairs: 3223391491
 +</code>
 +
 +
 +
  
  
notatki/autofocus.1747850485.txt.gz · ostatnio zmienione: przez administrator