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

Opencv實現(xiàn)二維直方圖的計算及繪制

 更新時間:2021年07月19日 08:34:54   作者:程序媛一枚~  
這篇博客將介紹如何使用Opencv進行二維直方圖的計算及繪制,維直方圖可以讓我們對不同的像素密度有更好的了解,感興趣的可以了解一下

這篇博客將介紹如何使用Python,Opencv進行二維直方圖的計算及繪制(分別用Opencv和Numpy計算),二維直方圖可以讓我們對不同的像素密度有更好的了解。

1. 效果圖

原始圖如下:

在這里插入圖片描述

1維直方圖如下:

在這里插入圖片描述

2維直方圖如下:

X軸顯示S值,Y軸顯示色調(diào)。

在這里插入圖片描述

hsvmap效果圖如下:

在這里插入圖片描述

2. 源碼

# OpenCV中的二維直方圖:使用相同的函數(shù)cv2.calcHist()計算。
# 對于1D直方圖,我們從BGR轉(zhuǎn)換為灰度
# 對于2D直方圖,需要將圖像從BGR轉(zhuǎn)換為HSV

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('ym.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

# 1維直方圖
hist = cv2.calcHist([gray], [0], None, [256], [0, 256])
hist, bins = np.histogram(img.ravel(), 256, [0, 256])
plt.hist(img.ravel(), 256, [0, 256])
plt.show()

# 二維直方圖可以讓我們對不同的像素密度有了更好的了解
# OpenCV計算2D直方圖
# HSV圖像 [0,1]表示H、S通道,[180,256]表示H、S的bins分別為180、256
# [0,180,0,256]表示值的范圍
hist = cv2.calcHist([hsv], [0, 1], None, [180, 256], [0, 180, 0, 256])

hist = np.clip(hist * 0.005, 0, 1)
cv2.imshow('hist', hist)
cv2.waitKey(0)

plt.imshow(hist, interpolation='nearest')
plt.show()

# Numpy計算1D直方圖:np.histogram();
# Numpy計算2D直方圖:np.historogram2d()
h, s, v = cv2.split(hsv)
hist, xbins, ybins = np.histogram2d(h.ravel(), s.ravel(), [180, 256], [[0, 180], [0, 256]])
plt.imshow(hist, interpolation='nearest')
plt.show()

參考

 https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_histograms/py_2d_histogram/py_2d_histogram.html#twod-histogram

https://github.com/seminar2012/opencv/blob/master/samples/python/color_histogram.py

到此這篇關(guān)于Opencv實現(xiàn)二維直方圖的計算及繪制的文章就介紹到這了,更多相關(guān)Opencv 二維直方圖 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 自動化測試Pytest單元測試框架的基本介紹

    自動化測試Pytest單元測試框架的基本介紹

    這篇文章主要介紹了Pytest單元測試框架的基本介紹,包含了Pytest的概念,Pytest特點,其安裝流程步驟以及相關(guān)配置流程,有需要的朋友可以參考下
    2021-08-08
  • Django中間件整合Vue攔截器的使用

    Django中間件整合Vue攔截器的使用

    本文主要介紹了Django中間件整合Vue攔截器的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • python使用Faker進行隨機數(shù)據(jù)生成

    python使用Faker進行隨機數(shù)據(jù)生成

    大家好,本篇文章主要講的是python使用Faker進行隨機數(shù)據(jù)生成,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Python中的re模塊之正則表達式模塊常用方法

    Python中的re模塊之正則表達式模塊常用方法

    re模塊是Python中使用正則表達式的最基礎(chǔ)的模塊,re模塊的這些功能覆蓋了正則表達式的常見用法,使用re模塊可以簡化字符串的模式匹配、信息提取、過濾替換、切分等操作,本文給大家介紹正則表達式模塊常用方法,感興趣的朋友跟隨小編一起看看吧
    2023-08-08
  • 解決BN和Dropout共同使用時會出現(xiàn)的問題

    解決BN和Dropout共同使用時會出現(xiàn)的問題

    這篇文章主要介紹了解決BN和Dropout共同使用時會出現(xiàn)的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • win與linux系統(tǒng)中python requests 安裝

    win與linux系統(tǒng)中python requests 安裝

    requests是Python的一個HTTP客戶端庫,跟urllib,urllib2類似,今天我們主要來談?wù)剋in與linux系統(tǒng)中python requests的安裝方法以及使用指南
    2016-12-12
  • Python使用自帶的base64庫進行base64編碼和解碼

    Python使用自帶的base64庫進行base64編碼和解碼

    在Python中,處理數(shù)據(jù)的編碼和解碼是數(shù)據(jù)傳輸和存儲中非常普遍的需求,其中,Base64是一種常用的編碼方案,本文我將詳細介紹如何使用Python的base64庫進行Base64編碼和解碼,需要的朋友可以參考下
    2025-04-04
  • 使用Python中OpenCV和深度學(xué)習(xí)進行全面嵌套邊緣檢測

    使用Python中OpenCV和深度學(xué)習(xí)進行全面嵌套邊緣檢測

    這篇文章主要介紹了使用Python中OpenCV和深度學(xué)習(xí)進行全面嵌套邊緣檢測,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • python?使用第三方庫requests-toolbelt?上傳文件流的示例

    python?使用第三方庫requests-toolbelt?上傳文件流的示例

    這篇文章主要介紹了python?使用第三方庫requests-toolbelt?上傳文件流,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • python開發(fā)中module模塊用法實例分析

    python開發(fā)中module模塊用法實例分析

    這篇文章主要介紹了python開發(fā)中module模塊用法,以實例形式較為詳細的分析了Python中模塊的功能、定義及相關(guān)使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11

最新評論

凤凰县| 瓦房店市| 册亨县| 胶州市| 盐池县| 昌图县| 马鞍山市| 镇巴县| 舒城县| 星子县| 南城县| 莱西市| 洮南市| 竹溪县| 阿拉善右旗| 册亨县| 阳原县| 靖西县| 金华市| 阿拉善左旗| 普洱| 武城县| 华蓥市| 乐业县| 宁河县| 怀远县| 吴旗县| 抚顺县| 饶河县| 老河口市| 苏尼特右旗| 穆棱市| 柳江县| 昭觉县| 合作市| 景洪市| 海门市| 三门县| 黄梅县| 新河县| 鹿泉市|