日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab retinex,基于Retinex算法视频增强的MATLAB实现

發布時間:2023/12/9 循环神经网络 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab retinex,基于Retinex算法视频增强的MATLAB实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于Retinex算法視頻增強的MATLAB實現

一、讀書筆記

1:數字圖像文件簡介

BMP文件:Windows操作系統中的標準圖像文件格式,能夠被多種Windows應用程序所支持。

GIF文件:GIF文件的數據是一種基于LZW算法的連續色調的無損壓縮格式,不屬于任何應用程序。

JPEG圖像格式:后綴名為.jpg或者.jpeg,是一種有損壓縮格式。

ICO文件:Windows的圖標文件格式的一種,可以存儲單個圖案、多尺寸、多色板的圖標文件

HDF文件:層次型數據格式可以存儲不同類型的圖像和數碼數據,有函數庫。

PNG文件:常用于JAVA程序、網頁和S60中。

TIFF文件:主要用來存儲包括照片和藝術圖在內的文件格式。

DICOM文件:數字影像和通信標準。

2:基于MATLAB圖像處理基礎

1)圖像數據類型

double類型:圖像處理最常用的數據類型,也是matlab中默認的數據類型。圖像數據的取值范圍為0-1。

Unit8類型:常用于從存儲設備中讀取數據時,操作不能使結果超出[0,255].

Unit16類型:用于精度較高的圖像中。

Logical類型:常用于二值圖像中,可用true、false或關系運算符得到。

2)數據類型轉換

名稱

將輸入轉換為

有效的輸入圖像數據類型

Im2unit8

Unit8

Unit8, Unit16, Double, logical

Im2unit16

Unit16

Unit8,Unit16, Double, logical

Mat2gray

Double[0-1]

Unit8,Double, Unit16, logical

Im2double

Double

Unit8,Double, Unit16, logical

Im2bw

logical

Unit8, Unit16, Double

3)文件信息讀取

Matlab提供imfinfo函數來實現所有格式(除DICOM)的信息讀取,調用形式: info=imfinfo(’filename’)

4)讀取圖像

使用imread可以將圖像讀入matlab環境,語法:

imread (‘filename’),其中,filename是一個含有文件全名的字符串。

函數size可給出一副圖像的行數和列數

>>size(f)

Ans=

1024? 1024

5)顯示圖像

在matlab桌面上顯示圖像一般用imshow,語法:

imshow (f,G)

其中,f是一個圖像數組,G為顯示該圖像的灰度級數。若將G省略,則默認256.語法 imshow(f,[low high])會將小于或等于low的顯示為黑色,大于或等于high的顯示為白色,介于兩者之間的值以默認的級數顯示為中等亮度值。語法 imshow(f,[])可以將變量low設置為數組f的最小值,將high設置為f的最大值。

6)保存圖像

使用imwrite函數可將圖像寫入磁盤,語法;

Imwrite(f,’filename’)

Filename必須是一個可識別的文件格式擴展名

另一種常用但只用于jpeg圖像的函數imwrite,其語法為

Imwrite(f,’filename.jpg’,’quality’,q),

Q為一個0到100的整數,q越小,圖像退化越嚴重

3:亮度變換與空間濾波

1)函數imadjust是對灰度圖像進行亮度變換的基本IPT工具。語法

g=imadjust(f,[low_in high_in],[low_out high_out],gamma)

將low_in至high_in之間的值映射到low_out至high_out之間的值,其他的值被剪切掉了。

2)對數和對比度的拉伸變換

對數變換通過以下表達式實現:

g=c*log(1+double(f))

3)閾值變換

表達式:g=1./(1+(m./(double(f)+eps)).^E)

Eps可避免f出現0值的溢出現象

4)計算并繪制圖像直方圖

函數:imhist(f);

直方圖均衡化有函數histep實現,語法:g=histep(f,nlev)

Nelv為輸出圖像制定的灰度等級

5)空間濾波:

工具箱使用函數imfilter來實現線性空間濾波,語法

g=imfilter(f,w,filter_mode,boundary_options,size_options)

w為濾波掩膜,g為濾波結果

二、Retinex算法簡介 與實現

1)簡介

Retinex(視網膜”Retina”和大腦皮層”Cortex”的縮寫)理論是一種建立在科學??????? 實驗和科學分析基礎上的基于人類視覺系統(Human Visual System)的圖像增強理論。該算法的基本原理模型最早是由Edwin Land(埃德溫?蘭德)于1971年提出的一種被稱為的色彩的理論,并在顏色恒常性的基礎上提出的一種基于理論的圖像增強方法。Retinex 理論的基本內容是物體的顏色是由物體對長波(紅)、中波(綠)和短波(藍)光線的反射能力決定的,而不是由反射光強度的絕對值決定的;物體的色彩不受光照非均性的影響,具有一致性,即Retinex 理論是以色感一致性(顏色恒常性)為基礎的。

不同于傳統的圖像增強算法,如線性、非線性變換、圖像銳化等只能增強圖像的某一類特征,如壓縮圖像的動態范圍,或增強圖像的邊緣等,Retinex可以在動態范圍壓縮、邊緣增強和顏色恒常三方面達到平衡,因此可以對各種不同類型的圖像進行自適應性地增強。

單尺度(Single-Scale Retinex, SSR)算法原理 根據Land提出的理論,一幅給定的圖像S(x,y)分解成兩幅不同的圖像:反射物體圖像R(x,y)和入射光圖像L(x,y),其原理示意圖如下

Retinex原理示意圖

對于觀察圖像S中的每個點(x,y),用公式可以表示為:

S(x,y)=R(x,y)﹒L(x,y) (1)

據Retinex 理論,物體的顏色是由物體對光線的反射能力決定的,而物體對光線的反射能力是物體本身固有的屬性,與光源強度的絕對值沒有依賴關系。因此通過計算各個像素間的相對明暗關系,可以對圖像中的每個像素點做校正,從而確定該像素點的顏色。

單尺度(Single-Scale Retinex, SSR)算法在對數域中則表示為:

根據上面式的原理,Retinex理論進行圖像增強的關鍵是從原圖像中有效的信息計算出亮度圖像L(x,y)。但是從原圖像計算亮度圖像在數學上是一個奇異問題,因此只能通過數學上近似估計的方式估算亮度圖像。在Retinex算法的發展史中,曾經出現過平方反比的環繞形式、指數形式以及高斯指數形式,但在單尺度Retinex增強算法中,杰泊森(Jobson)論證了高斯卷積函數可以對源圖像提供更局部的準確處理,因而可以更好地增強圖像,其可以表示為:

其中λ是常量矩陣,c是濾波半徑,并且滿足:

c越小,灰度動態范圍壓縮的越多,c越大,圖像銳化的越厲害。因此亮度圖像最終可以表示為:

單尺度(SSR)可以表示為:

2)matlab實現

步驟:讀入圖像→歸一化→設置高斯函數參數及矩陣→高斯函數和輸入圖像矩陣卷積→取對數→和輸入圖像矩陣的對數相差→取指數→輸出圖像

結果:

原圖

處理后

原圖

處理后的圖

總結

以上是生活随笔為你收集整理的matlab retinex,基于Retinex算法视频增强的MATLAB实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。