兩點定標法_一種兩點校正紅外熱像儀的非均勻性的模塊及方法

一種兩點校正紅外熱像儀的非均勻性的模塊及方法

【技術領域】

[0001] 本發明屬于紅外熱成像系統的非均勻性校正領域,特別是一種兩點校正紅外熱像 儀的非均勻性的模塊及方法。

【背景技術】

[0002] 在過去的幾十年中,紅外探測器件的元數不斷增加,由單元發展到線列,由線列發 展到焦平面陣列(FPA)。紅外焦平面陣列探測器的出現,是紅外成像史上一個劃時代的革 命,它大幅提高了紅外成像系統的靈敏度和可靠性。作為現代紅外系統和熱成像系統的關 鍵部件,凝視型紅外焦平面陣列(IRFPA)器件成本低廉,體積小,無需制冷,目前已在軍事 (紅外跟蹤、預警、制導)、醫療、安全等方面得到廣泛應用,用它構成的紅外成像系統較傳 統的光機掃描紅外成像系統具有結構簡單、工作穩定、靈敏度高、噪聲等效溫差(NETD)小 等優點。

[0003] 然而,受紅外探測器材料和工藝方面的影響,紅外焦平面陣列的非均勻性問題成 為長期以來制約其應用的根本問題。一般意義上的非均勻性是指紅外焦平面陣列在同一 均勻輻射下由于探測器各像元的紅外響應度不一致導致其視頻輸出幅度不同,造成像質降 低,又稱空間噪聲;更進一步意義上的非均勻性還包括由焦平面陣列所處環境的溫度變化、 電荷傳輸效率、Ι/f噪聲(電流噪聲)、無效探測元(壞元)以及紅外光學系統等諸多因素 所造成的成像質量的下降。這種固定的圖像噪聲,使紅外成像系統的溫度分辨率下降,圖像 質量受到嚴重影響。因此,必須對紅外焦平面陣列進行非均勻性校正。

[0004] 目前普遍采用后期算法處理來補償空間非均勻性。總起來說,可以將這些技術分 為二大類,即基于定標和基于場景的非均勻性校正技術。最初開發使用的是基于定標的非 均勻性校正技術,其中較為成熟的方法是基于探測元的單點、兩點及多點定標算法,它們以 普朗克輻射定律和紅外探測元的線性響應模型為基礎,現階段廣泛應用于成像系統之中。 近年來,各種基于場景的非均勻性校正技術也不斷涌現,以彌補溫漂現象,避開定標過程; 但在面臨極端場景,如場景靜止、鏡頭旋轉或反差極大的場景反復切換時,校正效果會大幅 退化,甚至無法觀察;另外,受限于現有的系統結構和硬件水平,只能用于軟件仿真或后續 處理,還無法做到實時,實際應用尚不成熟。比較而言,基于定標的非均勻性校正更為精確, 對于場景和目標沒有特殊要求,硬件易于實現和集成,是紅外焦平面陣列系統公認的評估 手段。

[0005] 為獲得更高的幀頻和更好的圖像質量,紅外熱像儀的探測器和外部存儲器設備不 斷更新換代,每次系統架構升級都必須重新編寫兩點校正的處理程序,進行了大量重復性 工作,延長了開發周期。

【發明內容】

[0006] 本發明的目的在于提供一種兩點校正紅外熱像儀的非均勻性的模塊及方法,結合 FPGA+外部存儲器的系統構架,使熱像儀在實際使用過程中滿足在線定標和實時校正的要 求。

[0007] 實現本發明目的的技術解決方案為:一種兩點校正紅外熱像儀的非均勻性的模 塊,包括數據格式調整模塊、串口指令解析模塊、定標控制模塊、加權平均運算模塊、外部存 儲器仲裁控制模塊、第一 FIFO緩沖區、第二FIFO緩沖區、求均值模塊、并轉串及FLASH控制 器、、內部寄存器、兩點參數計算模塊、兩點校正模塊和壞元替代模塊。

[0008] 加權平均運算模塊分別與串口指令解析模塊、定標控制模塊和外部存儲器仲裁 控制模塊連接,外部存儲器仲裁控制模塊分別與串口指令解析模塊、定標控制模塊、第二 FIFO緩沖區、求均值模塊和兩點參數計算模塊連接,定標控制模塊分別與數據格式調整模 塊和串口指令解析模塊連接,兩點校正模塊分別與串口指令解析模塊、第一 FIFO緩沖區、 兩點參數計算模塊和壞元替代模塊連接,并轉串及FLASH控制器與第二FIFO緩沖區連接, 數據格式調整模塊與第一 FIFO緩沖區連接,兩點參數計算模塊與壞元替代模塊連接,外部 存儲器仲裁控制模塊再外接外部存儲器,外部存儲器仲裁控制模塊、求均值模塊、并轉串及 FLASH控制器和內部寄存器分別外接串行FLASH。

[0009] 數據格式調整模塊把紅外熱像儀的探測器采集的原始數據轉化為標準格式數據, 即當前幀A,并送到定標控制模塊和第一 FIFO緩沖區;把紅外熱像儀的探測器對準低溫黑 體,串口指令解析模塊對上位機的定標命令進行解析,并把得到的累加幀數p和存低溫使 能送入定標控制模塊,權值參數q送入加權平均運算模塊;定標控制模塊控制當前幀A送到 加權平均運算模塊進行加權平均運算,發送讀寫指令給外部存儲器仲裁控制模塊,在外部 存儲器中讀出存儲幀B并寫入均值幀C,循環迭代p次后,最終的均值幀C低溫定標圖像L。 [0010] 外部存儲器仲裁控制模塊接收各讀寫指令,對它們在時間上進行安排,發送讀寫 請求、地址和數據給外部存儲器,控制外部存儲器依次循環響應各讀寫指令;再把紅外熱像 儀的探測器對準高溫黑體,重復上述過程,得到高溫定標圖像Η ;串口指令解析模塊發送寫 FLASH使能信號給外部存儲器仲裁控制模塊,從外部存儲器中同時讀出低溫定標圖像L和 高溫定標圖像H,分別送入求均值模塊和第二FIFO緩沖區;求均值模塊分別求出低溫定標 圖像L的均值£和高溫定標圖像Η的均值謹,并把它們存入串行FLASH的用戶區域;第二 FIFO緩沖區用來實現速率匹配,緩沖后的數據送入并轉串及FLASH控制器;并轉串及FLASH 控制器完成對串行FLASH的配置,把低溫定標圖像L和高溫定標圖像Η轉化為串行數據,依 次順序寫入串行FLASH用戶區域,至此定標操作完成。

[0011] 系統重新上電后,自動從串彳丁 FLASH中依次讀出低溫定標圖像L和1?溫定標圖像 Η并送至外部存儲器仲裁控制模塊,由其寫入外部存儲器指定位置;串行FLASH自動讀出低 溫定標圖像的均值:£和高溫定標圖像的均值:麗:存入內部寄存器中;當一幀標準數據到達第 一 FIFO緩沖區時,就通過外部存儲器仲裁控制模塊同時讀出低溫定標圖像L和高溫定標圖 像H,從內部寄存器中讀出低溫定標圖像的均值S和高溫定標圖像的均值H一起送到兩點 參數計算模塊,通過兩點參數計算模塊計算得到增益校正系數K和偏置校正系數B,并將增 益校正系數K和偏置校正系數B送入兩點校正模塊進行校正,得到校正后的圖像Y,若增益 校正系數K和偏置校正系數B的值超過設定的閾值,就把壞元標志位置為1,否則置為0,壞 元標志位送入壞元替代模塊;將校正后的圖像Y再送入壞元替代模塊,壞元替代模塊檢測 壞元標志位,一旦發現為1,就把該處對應的像素值用緩存的前面一個的像素值替換,至此 校正處理完成,將得到的最終圖像輸出。

[0012] 第一 FIFO緩沖區起到數據同步的作用,把標準數據、增益校正系數K和偏置校正 系數B對齊,一起送入兩點校正模塊。

[0013] 上述加權平均運算模塊的加權平均運算公式為:

[0014]

[0015] 其中C為均值幀,即單次取平均得到的一幀圖像。

[0016] 兩點參數計算模塊的兩點參數計算公式為:

[0017]

[0018] 兩點校正模塊的兩點校正公式為:

[0019] Y = K · X+B

[0020] X代表數據格式調整模塊輸出的標準數據。

[0021] -種兩點校正紅外熱像儀的非均勻性的方法,步驟如下:

[0022] 步驟1)進行在線定標,獲得低溫定標圖像L和高溫定標圖像Η :

[0023] 步驟1-1)數據格式調整模塊接收紅外熱像儀獲得的實時紅外視頻序列,即當前 幀Α,將紅外熱像儀的探測器對準低溫黑體,利用串口設置權值參數q和累加幀數ρ,ρ范圍 為0, 1,2, 3··· 1024, q范圍為0, 1,2, 3··· 1024,并給出存儲低溫圖像的使能信號,串口指令解 析模塊接收到該低溫圖像使能信號后,由定標控制模塊控制外部存儲器仲裁控制模塊在外 部存儲器內存入一幅圖像,即存儲幀B,然后從外部存儲器讀出存儲幀B,在加權平均運算 模塊中將當前幀A和存儲幀B對應位置的每一個像素采集值進行加權平均,公式為:

再多了解一些

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

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

相關文章

leetcode851. 喧鬧和富有(dfs)

在一組 N 個人(編號為 0, 1, 2, …, N-1)中,每個人都有不同數目的錢,以及不同程度的安靜(quietness)。 為了方便起見,我們將編號為 x 的人簡稱為 "person x "。 如果能夠肯定 perso…

如何選擇正確的容器編排以及如何進行部署

by Michael Douglass邁克爾道格拉斯(Michael Douglass) 如何選擇正確的容器編排以及如何進行部署 (How to choose the right container orchestration and how to deploy it) Running server processes inside containers is here to stay. If your environment is small with…

Oracle 學習筆記(三)

oracle 表查詢 oracle 表基本查詢 在此,基于 scott 用戶存在的 emp,dept 表演示學習。 emp 雇員表 clerk 員工 salesman 銷售 manager 經理 analyst 分析師 president 總裁 mgr 上級的編號 hiredate 入職時間 sal 工資 comm 獎金 deptno 部…

html meta標簽使用總結(轉)

之前學習前端中&#xff0c;對meta標簽的了解僅僅只是這一句。 <meta charset"UTF-8"> 但是打開任意的網站&#xff0c;其head標簽內都有一列的meta標簽。比如我博客的。 但是自己卻很不熟悉&#xff0c;于是把meta標簽加入了寒假學習計劃的最前方。 簡介 在查…

bzoj 4009 接水果 整體二分

Description 先給出一些盤子, 用路徑x-y表示, 有權值 再有Q個詢問, 表示水果, 用路徑x-y表示 如果盤子是水果的子路徑, 可以接住 對于每個水果, 輸出可以接住它的盤子的第k小權 Solution 對于x-lca-y的盤子&#xff0c;水果一定一個在x子樹&#xff0c;一個在y子樹 對于x-lca的…

離散元 python_剛開始學習離散元軟件Yade,有什么建議?

用Yade-DEM 做過博士期間的部分工作&#xff0c;也是從毫無所知到算是入門&#xff0c;分享一點我的學習過程&#xff0c;為那些剛接觸Yade的同學提供些許參考&#xff0c;希望對大家有幫助。0. Yade 簡介Yade 是一個用于離散元分析的開源平臺&#xff0c;是法國Lab 3SR-Grenob…

leetcode529. 掃雷游戲(dfs)

讓我們一起來玩掃雷游戲&#xff01; 給定一個代表游戲板的二維字符矩陣。 ‘M’ 代表一個未挖出的地雷&#xff0c;‘E’ 代表一個未挖出的空方塊&#xff0c;‘B’ 代表沒有相鄰&#xff08;上&#xff0c;下&#xff0c;左&#xff0c;右&#xff0c;和所有4個對角線&#…

redhat6 刪除mysql_Red Hat enterprise linux 6卸載默認安裝的 mysql

因為Red Hat enterprise linux 6 自帶了一個mysql&#xff0c;所以當你安裝新的mysql時&#xff0c;就會提示錯誤如&#xff1a;error&#xff1a;Failed dependencies&#xff1a;MySQL conflicts with mysql-5.1.47-4.el6.i686rmp -qa mysql 可以看到安裝的mysql于是將自帶的…

swift通知欄推送_如何使用Swift使用推送通知構建食品交付應用

swift通知欄推送by Neo Ighodaro由新Ighodaro 如何使用Swift使用推送通知構建食品交付應用 (How to build a food delivery app with push notifications using Swift) A basic understanding of Swift and Node.js is needed to follow this tutorial.要學習本教程&#xff0…

Jenkins持續集成實踐之java項目自動化部署

關于Linux安裝Jenkins可以參考我的這篇博文Ubuntu16.04環境安裝jenkins 1.安裝部署插件 進入插件管理&#xff0c;并搜索該插件Deploy to container Plugin進行安裝 &#xff0c;下載地址為&#xff1a;https://wiki.jenkins-ci.org/display/JENKINS/DeployPlugin 2.安裝完后&a…

云計算時代企業內部IT人員的新定位

本文講的是云計算時代企業內部IT人員的新定位&#xff0c;【IT168 云計算頻道】漸漸的云計算熱起來&#xff0c;但是怎么去嚴格定義云計算&#xff0c;還是沒有一個統一的說法&#xff0c;最常用的就是舉例子的方式來說什么是云計算&#xff0c;最常用來打比方的是電力&#xf…

Java 多線程 筆記 轉自http://www.cnblogs.com/lwbqqyumidi/p/3804883.html

多線程作為Java中很重要的一個知識點&#xff0c; 一.線程的生命周期及五種基本狀態 關于Java中線程的生命周期&#xff0c;首先看一下下面這張較為經典的圖&#xff1a; 上圖中基本上囊括了Java中多線程各重要知識點。掌握了上圖中的各知識點&#xff0c;Java中的多線程也就基…

leetcode207. 課程表(dfs/bfs)

你這個學期必須選修 numCourse 門課程&#xff0c;記為 0 到 numCourse-1 。 在選修某些課程之前需要一些先修課程。 例如&#xff0c;想要學習課程 0 &#xff0c;你需要先完成課程 1 &#xff0c;我們用一個匹配來表示他們&#xff1a;[0,1] 給定課程總量以及它們的先決條件…

r.java是什么_R.java文件介紹

http://blog.chinaunix.net/uid-21411227-id-4133828.html注意&#xff1a;R.java文件不能手動修改。1. HelloWorld工程中的R.java文件解析package com.android.hellworld;public final class R {public static final class attr {}public static final class drawable {public…

python qt 拖拽組件使用方法_Python QT組件庫qtwidgets的使用

雖然Qt提供了不少現成的組件&#xff0c;但是在Python中使用PyQt5或PySide2進行圖形界面程序開發的過程&#xff0c;還是免不了要根據自己的需求組合一些小部件以形成新的自定義組件。最近州的先生在寫一個桌面圖形界面的登錄密碼框的過程中&#xff0c;發現了這樣一個小巧的自…

get與post區別

兩種 HTTP 請求方法&#xff1a;GET 和 POST 在客戶機和服務器之間進行請求-響應時&#xff0c;兩種最常被用到的方法是&#xff1a;GET 和 POST。 GET - 從指定的資源請求數據。POST - 向指定的資源提交要被處理的數據GET 方法 請注意&#xff0c;查詢字符串&#xff08;名稱/…

java 實現 sql join_Sql 數據庫 join 連接

sql里面有兩個連接一個是union&#xff0c;另一個就是join他們兩個的區別:union 連接的是行 是一行一行的連 而 join 連接的是列(字段) (他們倆的區別暫時就就知道這點)join連接的使用的前提:1.必須要有至少一個表(一個表可以用自連接)2.必須要有相關聯的列(字段)&#xff…

開源與云計算

本文講的是開源與云計算&#xff0c;【IT168 資訊】幾年來我一直擔心開源運動可能會遭受Kim Stanley Robinson在“Green Mars”中精辟論述的問題&#xff1a;“歷史的浪潮比我們做得還要快。”創新者被拋在后面&#xff0c;他們曾經改變的世界拿著他們的主意向著意想不到的方向…

c/c++連接mysql數據庫設置及亂碼問題(vs2013連接mysql數據庫,使用Mysql API操作數據庫)...

我的安裝環境&#xff1a; (1)vs2013(32位版) (vs2013只有32位的 沒有64位的&#xff0c;但是它可以編譯出64位的程序) &#xff1b; (2)mysql-5.7.15(64位) vs2013中的設置&#xff08;按步驟來&#xff0c;順序不要亂&#xff09; (1)首先在vs2013中新建一個控制臺程序 Mysq…

leetcode542. 01 矩陣(bfs/dp)

給定一個由 0 和 1 組成的矩陣&#xff0c;找出每個元素到最近的 0 的距離。 兩個相鄰元素間的距離為 1 。 示例 1: 輸入: 0 0 0 0 1 0 0 0 0 輸出: 0 0 0 0 1 0 0 0 0 bfs代碼 class Solution {int[][] res;public int[][] updateMatrix(int[][] matrix) {int[][] dirnew…