主頁(yè) > 知識(shí)庫(kù) > Opencv實(shí)現(xiàn)二維直方圖的計(jì)算及繪制

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

熱門(mén)標(biāo)簽:旅游廁所地圖標(biāo)注怎么弄 無(wú)錫智能外呼系統(tǒng)好用嗎 電梯新時(shí)達(dá)系統(tǒng)外呼顯示e 百應(yīng)電話(huà)機(jī)器人總部 南昌地圖標(biāo)注 成都呼叫中心外呼系統(tǒng)哪家強(qiáng) 宿州電話(huà)機(jī)器人哪家好 地圖標(biāo)注與注銷(xiāo) 西青語(yǔ)音電銷(xiāo)機(jī)器人哪家好

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

1. 效果圖

原始圖如下:

1維直方圖如下:

2維直方圖如下:

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

hsvmap效果圖如下:

2. 源碼

# OpenCV中的二維直方圖:使用相同的函數(shù)cv2.calcHist()計(jì)算。
# 對(duì)于1D直方圖,我們從BGR轉(zhuǎn)換為灰度
# 對(duì)于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()

# 二維直方圖可以讓我們對(duì)不同的像素密度有了更好的了解
# OpenCV計(jì)算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計(jì)算1D直方圖:np.histogram();
# Numpy計(jì)算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實(shí)現(xiàn)二維直方圖的計(jì)算及繪制的文章就介紹到這了,更多相關(guān)Opencv 二維直方圖 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • OpenCV-Python直方圖均衡化實(shí)現(xiàn)圖像去霧
  • 基于OpenCV的直方圖匹配的實(shí)現(xiàn)方法
  • python 對(duì)一幅灰度圖像進(jìn)行直方圖均衡化
  • OpenCV利用python來(lái)實(shí)現(xiàn)圖像的直方圖均衡化
  • 詳解用Python為直方圖繪制擬合曲線(xiàn)的兩種方法
  • opencv python統(tǒng)計(jì)及繪制直方圖的方法
  • OpenCV半小時(shí)掌握基本操作之直方圖

標(biāo)簽:贛州 渭南 七臺(tái)河 雅安 許昌 西安 濰坊 辛集

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Opencv實(shí)現(xiàn)二維直方圖的計(jì)算及繪制》,本文關(guān)鍵詞  Opencv,實(shí)現(xiàn),二維,直方圖,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Opencv實(shí)現(xiàn)二維直方圖的計(jì)算及繪制》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Opencv實(shí)現(xiàn)二維直方圖的計(jì)算及繪制的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章