高斯透鏡公式(調整鏡頭與感光元件之間的距離時,使得不同距離的物體在感光元件上形成清晰的影像)

當使用定焦鏡頭時,仍然可以調整鏡頭與感光元件(或膠片)之間的距離時,使得不同距離的物體在感光元件上形成清晰的影像。對此可以用高斯透鏡公式進行解釋:

一、透鏡成像的基本原理

在光學中,一個基本的公式是:

1f=1u+1v \frac{1}{f} = \frac{1}{u} + \frac{1}{v} f1?=u1?+v1?

其中:

  • fff:鏡頭的焦距(焦距是鏡頭本身的屬性,固定不變)
  • uuu:物距,即被攝物體到鏡頭的距離
  • vvv:像距,即鏡頭到感光元件(如相機傳感器)的距離

這個公式叫做高斯透鏡公式,它描述了光線通過鏡頭后在感光元件上成像的條件。


二、高斯透鏡公式推導

請添加圖片描述

推導步驟
  1. 相似三角形關系

    • 假設有一個物體通過薄透鏡成像。根據圖像,我們有兩對相似三角形:△ABO∽△A’B’O 和 △COF∽△A’B’F。
    • 從 △ABO∽△A’B’O 得到的比例關系為:ABA′B′=uv\frac{AB}{A'B'} = \frac{u}{v}ABAB?=vu?
    • 從 △COF∽△A’B’F 得到的比例關系為:COA′B′=fv?f\frac{CO}{A'B'} = \frac{f}{v-f} ABCO?=v?ff?
  2. 矩形性質的應用

    • 因為四邊形 ABOC 是一個矩形,所以有 ( AB = CO )。
  3. 等式轉換

    • 由上述兩點可以知道:ABA′B′=COA′B′=fv?f\frac{AB}{A'B'}= \frac{CO}{A'B'} = \frac{f}{v-f}ABAB?=ABCO?=v?ff?
    • ABA′B′=uv\frac{AB}{A'B'} = \frac{u}{v}ABAB?=vu?代入上式得:uv=fv?f\frac{u}{v} = \frac{f}{v-f}vu?=v?ff?
  4. 交叉相乘并簡化

    • 交叉相乘后得到:u(v?f)=vfu(v-f) = vfu(v?f)=vf
    • 展開并重新排列得到:uv?uf=vfuv - uf = vfuv?uf=vf
  5. 移項與除法操作

    • 由于 uvf≠0uvf ≠ 0uvf=0,我們可以兩邊同時除以 uvfuvfuvf 來得到更簡潔的形式:
      uvuvf?ufuvf=vfuvf \frac{uv}{uvf} - \frac{uf}{uvf} = \frac{vf}{uvf} uvfuv??uvfuf?=uvfvf?
    • 簡化上述表達式可得:1f?1v=1u\frac{1}{f} - \frac{1}{v} = \frac{1}{u} f1??v1?=u1?
  6. 最終形式

    • 最后將方程調整為標準形式:1u+1v=1f\frac{1}{u} + \frac{1}{v} = \frac{1}{f} u1?+v1?=f1?

三、高斯透鏡公式跟針孔模型的關系

針孔相機模型

針孔相機模型是一種理想化的幾何模型,它假設光線通過一個無窮小的孔(針孔)進入相機并在對面的平面上形成倒立的實像。在針孔模型中,并沒有使用透鏡來聚焦光線,因此不存在焦距的概念(即沒有(f))。在這個模型下,圖像平面的位置相對于針孔的距離是一個固定的參數,通常稱為“焦距”以方便描述,但它與光學透鏡中的焦距概念不同。針孔模型主要用于簡化場景理解、3D 重建等任務中的數學計算,尤其是在不需要考慮鏡頭畸變的情況下。

高斯透鏡公式

另一方面,高斯透鏡公式適用于帶有透鏡系統的相機,其中涉及到物距(u)、像距(v)和透鏡焦距(f)之間的關系。這個公式描述了如何根據物體距離調整像距(或反之),以便在感光元件上獲得清晰的影像。

二者關系

當使用針孔模型進行相機標定時,實際上是在利用一種簡化的數學模型來近似真實世界的成像過程。在這種情況下,“焦距”指的是從針孔到圖像傳感器的距離,這與透鏡系統中的焦距概念并不直接對應。因此,在針孔相機模型中,傳感器位置固定地放置在所謂的“焦距”處,并不意味著違反了高斯透鏡公式;這是因為兩者基于完全不同的物理基礎——一個是無透鏡的理想化情況,另一個則是基于實際透鏡的光學性質。

總結來說,針孔相機模型和應用高斯透鏡公式的透鏡成像模型是兩個獨立的概念。針孔模型用于簡化成像過程,而高斯透鏡公式則精確描述了包含透鏡的成像系統的行為。將針孔模型應用于相機標定時,實際上是選擇了一種簡化的方式來處理成像問題,而不是直接應用或違背了高斯透鏡公式。

盡管在名稱上針孔相機的“焦距”和高斯透鏡中的像距都使用了(f)這一符號,但它們代表的意義并不完全相同:

  • 針孔相機模型中的“焦距”(f)是一個固定值,它定義了針孔到成像平面的距離,且不涉及光學聚焦的概念。
  • 而高斯透鏡公式中的像距(v)則依賴于具體的光學設置,包括物距(u)和透鏡的物理特性(即焦距,并且可以通過調整這些參數來獲得不同的成像效果。
針孔模型的f更偏向于高斯透鏡公式里的v
  1. 針孔模型與像距
  • 在針孔相機模型中,所謂的“焦距”(f)實際上是指從針孔到成像平面(傳感器或膠片)的距離。這個距離決定了圖像的大小和視角。
  • 當針孔相機的“焦距”(f)增加時,相當于增大了像距(v),這會導致視場變窄,物體在成像平面上的投影變小;反之,當“焦距”減小時,視場變寬,物體的投影變大。
  1. 高斯透鏡公式中的像距(v)
  • 通過調整鏡頭的位置可以使得像距(v)發生變化,從而讓不同距離上的物體能夠在感光元件上形成清晰的影像。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/917262.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/917262.shtml
英文地址,請注明出處:http://en.pswp.cn/news/917262.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

預過濾環境光貼圖制作教程:第三階段 - GGX 分布預過濾

核心目標 GGX 分布是 PBR 中模擬粗糙表面高光反射的主流模型,其核心是通過統計分布描述微表面的朝向概率。本階段的目標是: 基于第一階段生成的環境圖集,預計算 6 個級別的 GGX 過濾結果(對應不同粗糙度); 使用蒙特卡洛采樣(Monte Carlo Sampling)加速 GGX 卷積計算;…

Spring框架與AutoCAD結合應用

什么是AutoCAD? AutoCAD簡介 AutoCAD是由美國Autodesk公司開發的計算機輔助設計(CAD)軟件,廣泛應用于建筑、工程、制造、產品設計等領域。它支持2D繪圖和3D建模,提供精確的圖形工具和自動化功能,幫助用戶高效創建技術圖紙和模型。 主要功能 2D繪圖:提供直線、圓弧、多…

Java 學習筆記:常用類、String 與日期時間處理

作為一名名 Java 初學者,最近在學習過程中整理了一些關于常用類、String 類以及日期時間處理的知識點。這些內容是 Java 基礎中的重點,也是日常編程練習中頻繁用到的工具,掌握它們能讓我們在寫代碼時更加得心應手。今天把這些筆記分享出來&am…

Android常用的adb和logcat命令

ADB ADB,即 Android Debug Bridge 是一種允許模擬器或已連接的 Android 設備進行通信的命令行工具,它可為各種設備操作提供便利,如安裝和調試應用,并提供對 Unix shell(可用來在模擬器或連接的設備上運行各種命令&…

重學JS-001 --- JavaScript算法與數據結構(一)JavaScript 基礎知識

文章目錄 變量 變量命名規則 變量命名 let vs const 變量使用范圍 賦值 = 控制臺輸出 運算符 ++ -- == === !== 注釋 轉義字符 數據類型 7種 原始數據類型 1. string?? 2. number?? 3. ??boolean?? 4. null?? 5. undefined?? 6. ??symbol??(ES6 新增) 7. big…

MySQL數據閃回工具my2sql的使用

場景: 當你或者其它人員誤操作數據庫不小心刪除或者更新了一批數據,但是是當時又沒事先備份時,你可以 用這個 my2sql工具快速幫你找回數據。就是如此的絲滑。但是要注意的是只限于dml語句,所以我們在操作數據庫前必需先備份哦&…

9.1無法恢復的錯誤與 panic!

無法恢復的錯誤與 panic! 有時你的代碼中會發生嚴重問題,而你無能為力。在這些情況下,Rust 提供了 panic! 宏。實際上,有兩種方式會導致 panic:一種是執行某個操作使代碼產生 panic(例如訪問數組越界)&…

分享低功耗單火線開關語音識別方案

在眾多老舊建筑和常規家居環境里,單火線布線是主流方式。單火線語音識別芯片方案通過研發和應用特殊的單火線語音識別芯片,實現設備在單火線供電條件下穩定運行,并精準識別語音指令,為智能家居、智能照明等領域帶來便捷的語音控制…

如何在Windows操作系統上通過conda 安裝 MDAnalysis

MDAnalysis 是一個開源的 Python 庫,旨在提供一個高效且靈活的方式來分析和處理分子動力學(MD)模擬數據。它可以從不同的文件格式中讀取模擬軌跡和結構數據,進行復雜的數據處理和分析,廣泛應用于生物物理學、化學、材料科學等領域。 一、創建虛擬環境 為了能夠順利安裝,減…

實用PDF演示解決方案

它打破了傳統閱 讀模式,讓PDF文檔也能像PPT一樣流暢播放,特別適合匯報、講解等展示場景。它是綠色單文件版,無需安裝,雙擊紅色圖標即點即用。運行后第一件事,建議把界面語言切換成中文,操作更順手。導入PDF…

VS Code中如何關閉Github Copilot

點擊頂部搜索欄后面的Copilot圖標,在下拉菜單中選擇Hide Copilot。在彈出的提示框中,點擊Hide Copilot按鈕就可以了。

MySQL學習從零開始--第六部分

Binlog是什么?有哪幾種格式?推薦使用哪種,為什么 Binlog是什么 Binlog二進制日志是MySQL Server層記錄所有更改數據庫內容的操作日志的二進制文件,如操作UPDATE,DELETE,INSERTBinlog不記錄SELECT,SHOW等查詢操作使主從…

走進computed,了解computed的前世今生

computed(計算屬性)并不是vue獨創的,而是源自計算機科學和響應式編程的長期發展 計算理論的奠基: 函數式編程的純函數思想:計算屬性的核心特征(無副作用、依賴輸入確定輸出)直接來源于函數式編程…

Java 23 新特性解析與代碼示例

Java 23 新特性解析與代碼示例 文章目錄Java 23 新特性解析與代碼示例1. 引言2. 正式特性2.1. Markdown文檔注釋 (JEP 467)2.2. 廢棄sun.misc.Unsafe的內存訪問方法以移除 (JEP 471)2.3. ZGC:默認啟用代際模式 (JEP 474)3. 預覽特性3.1. 原始類型在模式、instanceof…

spring boot + mybatis + mysql 只有一個實體類的demo

使用MyBatis進行數據庫操作,配置簡單。主要演示了mybatis可以不用只使用方法名來對應mapper.java和mapper.xml。 目錄結構 pom.xml src/ ├── main/ │ ├── java/ │ │ └── com/ │ │ └── springbootjdbcweb/ │ │ └── …

iRemovalPro完美繞iCloud插卡打電話,A12+支持iOS 18.1.1

iRemovalPro 專業工具全解析與操作指南 (支持iOS 14.0 - 16.6.1,A7-A15芯片設備) 👉下載地址見文末 iRemoval Pro iRemoval 專業版是一款來自外國安全研究員的工具,用來幫助一些人因為忘記自己的ID或者密碼&#xff0c…

安卓SELinux策略語法

目錄前言一、 通用AV規則語法1.1 allow source target:class permissions;1.2 neverallow source target:class permissions;二、type三、attribute四、typeattribute五、alias六、typealias七、init_daemon_domain7.1 init_daemon_domain 宏概述7.2 宏展開與實現7.2.1 展開后規…

vscode cursor配置php的debug,docker里面debug

VSCode PHP調試配置指南 概述 本文介紹如何在VSCode中配置PHP調試環境,包括本地和Docker環境。 前置要求 VSCodePHP 7.0Xdebug擴展PHP Debug VSCode擴展 本地調試配置 1. 安裝Xdebug # Ubuntu/Debian sudo apt-get install php-xdebug# MacOS brew install p…

elk部署加日志收集

清華大學鏡像源地址:Index of /elasticstack/8.x/yum/8.13.2/ | 清華大學開源軟件鏡像站 | Tsinghua Open Source Mirror 一、elasticsearch 1.安裝 rpm -ivh elastic-agent-8.13.2-x86_64.rpm 2.修改配置 vim /etc/elasticsearch/elasticsearch.yml 修改如下&…

dify 升級1.7.1 插件無法下載依賴

dify 升級1.7.1 插件無法下載依賴 1. 安裝通義千問插件,各種報錯; 使用下面命令查看docker 鏡像日志 docker logs -f --tail100 docker-plugin_daemon-1 2025/08/01 07:42:21 full_duplex.go:59: [INFO]init environment for plugin langgenius/tongyi…