最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用Python+OpenCV對(duì)比圖像質(zhì)量的幾種方法

 更新時(shí)間:2019年07月15日 15:53:53   作者:Jeru_d39e  
這篇文章主要介紹了用Python+OpenCV對(duì)比圖像質(zhì)量過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

前言

圖片的本質(zhì)就是大量像素在二維平面上的組合,每個(gè)像素點(diǎn)用數(shù)字化方式記錄顏色??梢灾庇^的想象,一張圖片就是一個(gè)巨大的電子?xùn)鸥?,每個(gè)格子內(nèi)有一盞燈泡,這個(gè)燈泡可以變換256的三次方種顏色,就像下面這張卡通像素圖一樣,越清晰的圖片像素越密集。

這一次來(lái)看看OpenCV提供的兩種圖像質(zhì)量對(duì)比方式(PSNR & SSIM)及其擴(kuò)展, 這篇文章會(huì)涉及到一點(diǎn)數(shù)學(xué)公式,順便介紹一個(gè)我用過(guò)的生成公式的最佳在線(xiàn)編輯工具,秒殺所有收費(fèi)工具。

鏈接在這里, 請(qǐng)收好: https://www.mathcha.io/editor

1. MSE對(duì)比

均方差 MSE(Mean Squared Error)對(duì)比, 思路是對(duì)兩張尺寸完全相同的圖片一個(gè)個(gè)像素進(jìn)行對(duì)比,對(duì)比的數(shù)值就是顏色。注意下面公式有兩個(gè)維度,因?yàn)槲覀儗?duì)比的圖像是像素矩陣,m and n 代表行數(shù)和列數(shù)。

MSE formula

MSE公式自己用numpy寫(xiě)幾行代碼實(shí)現(xiàn),這里唯一要注意的是我找的圖片是彩色的,因?yàn)橛蠦GR3個(gè)顏色通道所以MSE要除以3得到平均值。

有了核心邏輯后準(zhǔn)備一下素材 - 著名的經(jīng)典圖片Lena,再手工壓縮75%, 90%, 95%放置入lena folder. Lena是1972年12月花花公子的封面女郎,這張照片只是裸體插頁(yè)的1/3,下面少兒不宜部分被截?cái)嗔耍磩h節(jié)原圖在卡耐基梅隆大學(xué)的網(wǎng)頁(yè)上還能找到(Warning: contains nudity)。

至于為什么選取她的照片,據(jù)說(shuō)這張圖片包含了各種細(xì)節(jié),平滑區(qū)域,陰影和紋理,是完美的測(cè)試圖像。其實(shí)都是扯淡,主要因?yàn)樗?dāng)年是個(gè)迷人的美女,深受老一代美國(guó)碼農(nóng)歡迎。

2. PSNR對(duì)比

PSNR (Peak Signal to Noise Ratio)是最廣泛使用的一種圖像客觀評(píng)價(jià)指標(biāo),通常用來(lái)評(píng)價(jià)一副圖像壓縮后與原圖對(duì)比質(zhì)量的好壞,這個(gè)值大概在30dB到50dB之間,PSNR值越高則壓縮后失真越小,如果差異非常明顯可能會(huì)得到15甚至更低的值。

所以MSE或者PSNR也好主要是對(duì)比完全一樣但是壓縮重構(gòu)的圖片,OpenCV官方文檔說(shuō)這也是逐幀比較視頻差異的最常用方式,畢竟它簡(jiǎn)單,運(yùn)行速度快。

但其呈現(xiàn)的差異有時(shí)候與人的主觀感受不一致,所以O(shè)penCV還提供了結(jié)構(gòu)相似性算法SSIM做出改進(jìn)。下面是PSNR公式,也是在MSE基礎(chǔ)上的進(jìn)一步擴(kuò)展,這里MAX表示圖像顏色最大值,8bit圖像取值為255

3. SSIM對(duì)比

自然圖像具備高度結(jié)構(gòu)性,臨近的像素間存在強(qiáng)相關(guān)性。

SSIM考慮了人眼的生物特征,是基于感知的計(jì)算模型,人類(lèi)視覺(jué)系統(tǒng)就是從可視區(qū)域內(nèi)獲取結(jié)構(gòu)信息,所以我們也可以檢測(cè)結(jié)構(gòu)信息的差異來(lái)對(duì)比圖片,這和MSE或者PSNR通過(guò)線(xiàn)性變換來(lái)分解信號(hào)有本質(zhì)上的不同。

SSIM的測(cè)量體系由三個(gè)模塊組成: 亮度,對(duì)比度和結(jié)構(gòu)。

三個(gè)模塊的對(duì)比函數(shù)組合之后得到SSIM的公式如下:

下面是完整代碼實(shí)現(xiàn)把三種score都打印出來(lái)看看,三種評(píng)測(cè)函數(shù)都直接改用了scikit-image庫(kù)提供的現(xiàn)成方法,實(shí)驗(yàn)過(guò)結(jié)果和前面的實(shí)現(xiàn)是一樣的。SSIM的score范圍從-1到1,1表示和原圖完全一致。

下面繼續(xù)用SSIM來(lái)玩玩找不同游戲看看,我在網(wǎng)上找了兩張圖片,第一張是原圖,第二張是PS后有N處差異,看看如何用SSIM快速找出答案。

原圖

修改圖

新開(kāi)一個(gè)文件來(lái)實(shí)現(xiàn)邏輯:首先載入文件并轉(zhuǎn)成grayscale, 并計(jì)算出SSIM; 核心邏輯在于line 22通過(guò)OSTU找出自適應(yīng)閾值,line 23行根據(jù)這個(gè)閾值來(lái)提取輪廓,最后畫(huà)方框出來(lái)。

對(duì)比結(jié)果,一秒找出八處不同

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • pytest解讀fixtures中yield與addfinalizer區(qū)別

    pytest解讀fixtures中yield與addfinalizer區(qū)別

    這篇文章主要為大家介紹了pytest官方解讀fixtures中yield與addfinalizer區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Python下載的11種姿勢(shì)(小結(jié))

    Python下載的11種姿勢(shì)(小結(jié))

    這篇文章主要介紹了Python下載的11種姿勢(shì)(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 詳解Python利用random生成一個(gè)列表內(nèi)的隨機(jī)數(shù)

    詳解Python利用random生成一個(gè)列表內(nèi)的隨機(jī)數(shù)

    這篇文章主要介紹了詳解Python利用random生成一個(gè)列表內(nèi)的隨機(jī)數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python實(shí)現(xiàn)用戶(hù)管理系統(tǒng)

    python實(shí)現(xiàn)用戶(hù)管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)用戶(hù)管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Python入門(mén)教程(二)Python快速上手

    Python入門(mén)教程(二)Python快速上手

    這篇文章主要介紹了Python入門(mén)教程(二)Python快速上手,Python是一門(mén)非常強(qiáng)大好用的語(yǔ)言,也有著易上手的特性,本文為入門(mén)教程,需要的朋友可以參考下
    2023-04-04
  • Python+Matplotlib繪制高亮顯示餅圖的示例代碼

    Python+Matplotlib繪制高亮顯示餅圖的示例代碼

    餅圖 (Pie Chart) 是一種圓形統(tǒng)計(jì)圖,被分割成片用于表示數(shù)值間的比例關(guān)系,本文為大家介紹了Matplotlib繪制高亮顯示的餅圖的函數(shù)源碼,需要的可以參考一下
    2023-06-06
  • Python使用mongodb保存爬取豆瓣電影的數(shù)據(jù)過(guò)程解析

    Python使用mongodb保存爬取豆瓣電影的數(shù)據(jù)過(guò)程解析

    這篇文章主要介紹了Python使用mongodb保存爬取豆瓣電影的數(shù)據(jù)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python實(shí)現(xiàn)字典按key或者value進(jìn)行排序操作示例【sorted】

    Python實(shí)現(xiàn)字典按key或者value進(jìn)行排序操作示例【sorted】

    這篇文章主要介紹了Python實(shí)現(xiàn)字典按key或者value進(jìn)行排序操作,結(jié)合實(shí)例形式分析了Python針對(duì)字典按照key或者value進(jìn)行排序的相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • Python中取整的幾種方法小結(jié)

    Python中取整的幾種方法小結(jié)

    這篇文章主要介紹了Python中取整的幾種方法,其中包括向下取整、四舍五入取整、向上取整以及分別取整數(shù)部分和小數(shù)部分。分別都給出了示例代碼,相信對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考借鑒。
    2017-01-01
  • numpy中np.sort返回索引的具體使用

    numpy中np.sort返回索引的具體使用

    本文主要介紹了使用numpy中np.sort函數(shù)返回索引的詳細(xì)解釋和使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07

最新評(píng)論

榆中县| 宝丰县| 右玉县| 新安县| 财经| 合水县| 喀什市| 沙田区| 柞水县| 扬中市| 岳池县| 德惠市| 沅江市| 凤翔县| 大连市| 丹东市| 海兴县| 临江市| 垣曲县| 德惠市| 东兰县| 自治县| 孟州市| 奉节县| 定安县| 定安县| 霞浦县| 福清市| 临泽县| 炉霍县| 文水县| 剑阁县| 荔浦县| 石城县| 肃宁县| 江西省| 马公市| 富顺县| 沁水县| 周宁县| 黄冈市|