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

Python Opencv中用compareHist函數(shù)進(jìn)行直方圖比較對(duì)比圖片

 更新時(shí)間:2020年04月07日 10:11:15   作者:wave.lt  
這篇文章主要介紹了Python Opencv中用compareHist函數(shù)進(jìn)行直方圖比較進(jìn)行對(duì)比圖片,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

圖像直方圖

圖像直方圖是反映一個(gè)圖像像素分布的統(tǒng)計(jì)表,其實(shí)橫坐標(biāo)代表了圖像像素的種類,可以是灰度的,也可以是彩色的??v坐標(biāo)代表了每一種顏色值在圖像中的像素總數(shù)或者占所有像素個(gè)數(shù)的百分比。
圖像是由像素構(gòu)成,因?yàn)榉从诚袼胤植嫉闹狈綀D往往可以作為圖像一個(gè)很重要的特征。在實(shí)際工程中,圖像直方圖在特征提取、圖像匹配等方面都有很好的應(yīng)用。

直方圖比較

1. 圖像相似度比較

如果我們有兩張圖像,并且這兩張圖像的直方圖一樣,或者有極高的相似度,那么在一定程度上,我們可以認(rèn)為這兩幅圖是一樣的,這就是直方圖比較的應(yīng)用之一。

2. 分析圖像之間關(guān)系

兩張圖像的直方圖反映了該圖像像素的分布情況,可以利用圖像的直方圖,來分析兩張圖像的關(guān)系。

直方圖比較函數(shù)

cv2.compareHist(H1, H2, method)

其中:

  • H1,H2 分別為要比較圖像的直方圖
  • method - 比較方式

比較方式(method)

  • 相關(guān)性比較 (method=cv.HISTCMP_CORREL) 值越大,相關(guān)度越高,最大值為1,最小值為0
  • 卡方比較(method=cv.HISTCMP_CHISQR 值越小,相關(guān)度越高,最大值無上界,最小值0
  • 巴氏距離比較(method=cv.HISTCMP_BHATTACHARYYA) 值越小,相關(guān)度越高,最大值為1,最小值為0

代碼實(shí)現(xiàn)

import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt
def create_rgb_hist(image):
 """"創(chuàng)建 RGB 三通道直方圖(直方圖矩陣)"""
 h, w, c = image.shape
 # 創(chuàng)建一個(gè)(16*16*16,1)的初始矩陣,作為直方圖矩陣 
 # 16*16*16的意思為三通道每通道有16個(gè)bins
 rgbhist = np.zeros([16 * 16 * 16, 1], np.float32)
 bsize = 256 / 16
 for row in range(h):
  for col in range(w):
   b = image[row, col, 0]
   g = image[row, col, 1]
   r = image[row, col, 2]
   # 人為構(gòu)建直方圖矩陣的索引,該索引是通過每一個(gè)像素點(diǎn)的三通道值進(jìn)行構(gòu)建
   index = int(b / bsize) * 16 * 16 + int(g / bsize) * 16 + int(r / bsize)
   # 該處形成的矩陣即為直方圖矩陣
   rgbhist[int(index), 0] += 1
 plt.ylim([0, 10000])
 plt.grid(color='r', linestyle='--', linewidth=0.5, alpha=0.3)
 return rgbhist
def hist_compare(image1, image2):
 """直方圖比較函數(shù)"""
 # 創(chuàng)建第一幅圖的rgb三通道直方圖(直方圖矩陣)
 hist1 = create_rgb_hist(image1)
 # 創(chuàng)建第二幅圖的rgb三通道直方圖(直方圖矩陣)
 hist2 = create_rgb_hist(image2)
 # 進(jìn)行三種方式的直方圖比較
 match1 = cv.compareHist(hist1, hist2, cv.HISTCMP_BHATTACHARYYA)
 match2 = cv.compareHist(hist1, hist2, cv.HISTCMP_CORREL)
 match3 = cv.compareHist(hist1, hist2, cv.HISTCMP_CHISQR)
 print("巴氏距離:%s, 相關(guān)性:%s, 卡方:%s" %(match1, match2, match3))
src1 = cv.imread("diff1.PNG")
cv.imshow("diff1", src1)
src2 = cv.imread("diff2.PNG")
cv.imshow("diff2", src2)
plt.subplot(1,2,1)
plt.title("diff1")
plt.plot(create_rgb_hist(src1))
plt.subplot(1,2,2)
plt.title("diff2")
plt.plot(create_rgb_hist(src2))
hist_compare(src1, src2)
plt.show()
cv.waitKey(0)
cv.destroyAllWindows()

在這里插入圖片描述

在這里插入圖片描述

巴氏距離:0.3116175231543461, 相關(guān)性:0.8805851455583134,
卡方:154379.82963705878

從計(jì)算得到的三個(gè)比較值可以發(fā)現(xiàn)巴氏距離較低,相關(guān)性較高,可以簡(jiǎn)單認(rèn)為這兩幅圖的相似度比較大。

例如下面兩幅圖

在這里插入圖片描述

在這里插入圖片描述

巴氏距離:0.8939676325760126, 相關(guān)性:0.03202528698270991,
卡方:503948.24201884575

從計(jì)算得到的三個(gè)比較值可以發(fā)現(xiàn)巴氏距離很高,相關(guān)性系數(shù)很低,可以簡(jiǎn)單認(rèn)為這兩幅圖的相似度非常小。

總結(jié)

到此這篇關(guān)于Python Opencv中用compareHist函數(shù)進(jìn)行直方圖比較進(jìn)行對(duì)比圖片的文章就介紹到這了,更多相關(guān)python Opencv compareHist函數(shù)直方圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python requests包的request()函數(shù)中的參數(shù)-params和data的區(qū)別介紹

    python requests包的request()函數(shù)中的參數(shù)-params和data的區(qū)別介紹

    這篇文章主要介紹了python requests包的request()函數(shù)中的參數(shù)-params和data的區(qū)別介紹,具有很好參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python做圖片搜索引擎并保存到本地詳情

    python做圖片搜索引擎并保存到本地詳情

    這篇文章主要介紹了python做圖片搜索引擎并保存到本地詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-08-08
  • Python實(shí)現(xiàn)隨機(jī)生成一個(gè)漢字的方法分享

    Python實(shí)現(xiàn)隨機(jī)生成一個(gè)漢字的方法分享

    這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)隨機(jī)生成一個(gè)漢字的功能,文中的示例代碼講解詳細(xì),對(duì)我們深入了解Python有一定的幫助,需要的可以參考一下
    2023-01-01
  • PyCharm插件開發(fā)實(shí)踐之PyGetterAndSetter詳解

    PyCharm插件開發(fā)實(shí)踐之PyGetterAndSetter詳解

    這篇文章主要介紹了PyCharm插件開發(fā)實(shí)踐-PyGetterAndSetter,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • python偏函數(shù)partial用法

    python偏函數(shù)partial用法

    這篇文章要給大家分享得是python偏函數(shù)partial用法,主要介紹什么是偏函數(shù)partial、偏函數(shù)的作用、偏函數(shù)的語(yǔ)法及案例詳情,需要的朋友可以參考一下文章得具體詳解,希望對(duì)你有所幫助
    2021-10-10
  • Python進(jìn)程間通信Queue實(shí)例解析

    Python進(jìn)程間通信Queue實(shí)例解析

    這篇文章主要介紹了Python進(jìn)程間通信Queue實(shí)例解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python文本終端GUI框架的使用方法

    Python文本終端GUI框架的使用方法

    Python中有幾個(gè)流行的文本終端GUI框架,它們提供了創(chuàng)建命令行界面的便捷方法,這些框架使開發(fā)者能夠構(gòu)建交互式、用戶友好的命令行應(yīng)用程序,本文將介紹幾個(gè)主要的Python文本終端GUI框架,展示它們的使用方法和示例代碼,需要的朋友可以參考下
    2023-12-12
  • python reverse反轉(zhuǎn)部分?jǐn)?shù)組的實(shí)例

    python reverse反轉(zhuǎn)部分?jǐn)?shù)組的實(shí)例

    今天小編就為大家分享一篇python reverse反轉(zhuǎn)部分?jǐn)?shù)組的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python logging日志庫(kù)空間不足問題解決

    Python logging日志庫(kù)空間不足問題解決

    這篇文章主要介紹了Python logging日志庫(kù)空間不足問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • python使用TensorFlow讀取和批處理CSV文件

    python使用TensorFlow讀取和批處理CSV文件

    本文旨在給大家使用 TensorFlow 庫(kù)讀取 CSV 文件,并將其數(shù)據(jù)以批次的形式進(jìn)行處理和展示,通過該實(shí)驗(yàn),我們希望掌握 TensorFlow 中 tf.data.TextLineDataset 的使用方法,以及如何解析 CSV 數(shù)據(jù)并進(jìn)行批量處理,需要的朋友可以參考下
    2025-03-03

最新評(píng)論

临漳县| 兴海县| 句容市| 连江县| 吴旗县| 新丰县| 广宗县| 务川| 昭平县| 滦南县| 绥滨县| 潮安县| 乃东县| 手游| 武乡县| 和硕县| 西贡区| 永年县| 来宾市| 曲阜市| 苍溪县| 祁东县| 新郑市| 莒南县| 上饶市| 东宁县| 灵石县| 手游| 遂平县| 汶上县| 玉屏| 玉树县| 柳河县| 西盟| 平南县| 筠连县| 舟曲县| 洛扎县| 灌云县| 博客| 平陆县|