current position:Home>Use Python and OpenCV to calculate and draw two-dimensional histogram
Use Python and OpenCV to calculate and draw two-dimensional histogram
2022-01-30 17:12:46 【Program yuan one_ Shining Xiaomei】
Use Python,Opencv Calculate and draw the two-dimensional histogram
This blog will show you how to use Python,Opencv Calculate and draw the two-dimensional histogram ( Use them separately Opencv and Numpy Calculation ), Two dimensional histogram can give us a better understanding of different pixel densities .
1. design sketch
The original figure is as follows : 1 The dimensional histogram is as follows :
2 The dimensional histogram is as follows : X Axis display S value ,Y Axis display tone .
hsvmap The renderings are as follows :
2. Source code
# OpenCV 2-D histogram in : Use the same function cv2.calcHist() Calculation .
# about 1D Histogram , We from BGR Convert to grayscale
# about 2D Histogram , You need to remove the image from BGR Convert to 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 Dimensional histogram
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()
# Two dimensional histogram can give us a better understanding of different pixel densities
# OpenCV Calculation 2D Histogram
# HSV Images [0,1] Express H、S passageway ,[180,256] Express H、S Of bins Respectively 180、256
# [0,180,0,256] Represents the range of values
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 Calculation 1D Histogram :np.histogram();
# Numpy Calculation 2D Histogram :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()
Copy code
Reference resources
copyright notice
author[Program yuan one_ Shining Xiaomei],Please bring the original link to reprint, thank you.
https://en.pythonmana.com/2022/01/202201301712452403.html
The sidebar is recommended
- Python notes (6): definition and use of lists
- Python notes (V): string operation
- Python notes (IV): use of functions and modules
- Python notes (3): conditional statements and circular statements
- Python notes (II): lexical structure
- Notes on python (I): getting to know Python
- [Python data structure series] - tree and binary tree - basic knowledge - knowledge point explanation + code implementation
- [Python daily homework] Day7: how to combine two dictionaries in an expression?
- How to implement a custom list or dictionary in Python
- 15 advanced Python tips for experienced programmers
guess what you like
-
Python string method tutorial - how to use the find() and replace() functions on Python strings
-
Python computer network basics
-
Python crawler series: crawling global airport information
-
Python crawler series: crawling global port information
-
How to calculate unique values using pandas groupby
-
Application of built-in distribution of Monte Carlo simulation SciPy with Python
-
Gradient lifting method and its implementation in Python
-
Pandas: how to group and calculate by index
-
Can you create an empty pandas data frame and fill it in?
-
Python basic exercises teaching! can't? (practice makes perfect)
Random recommended
- Exploratory data analysis (EDA) in Python using SQL and Seaborn (SNS).
- Turn audio into shareable video with Python and ffmpeg
- Using rbind in python (equivalent to R)
- Pandas: how to create an empty data frame with column names
- Talk about quantifying investment using Python
- Python, image restoration in opencv - CV2 inpaint
- Python notes (14): advanced technologies such as object-oriented programming
- Python notes (13): operations such as object-oriented programming
- Python notes (12): inheritance such as object-oriented programming
- Chapter 2: Fundamentals of python-5 Boolean
- Python notes (11): encapsulation such as object-oriented programming
- Python notes (10): concepts such as object-oriented programming
- Gradient lifting method and its implementation in Python
- Van * Python | simple crawling of a site course
- Chapter 1 preliminary knowledge of pandas (list derivation and conditional assignment, anonymous function and map method, zip object and enumerate method, NP basis)
- Nanny tutorial! Build VIM into an IDE (Python)
- Fourier transform of Python OpenCV image processing, lesson 52
- Introduction to python (III) network request and analysis
- China Merchants Bank credit card number recognition project (Part I), python OpenCV image processing journey, Part 53
- Introduction to python (IV) dynamic web page analysis and capture
- Python practice - capture 58 rental information and store it in MySQL database
- leetcode 119. Pascal's Triangle II(python)
- leetcode 31. Next Permutation(python)
- [algorithm learning] 807 Maintain the city skyline (Java / C / C + + / Python / go / trust)
- The rich woman's best friend asked me to write her a Taobao double 11 rush purchase script in Python, which can only be arranged
- Glom module of Python data analysis module (1)
- Python crawler actual combat, requests module, python realizes the full set of skin to capture the glory of the king
- Summarize some common mistakes of novices in Python development
- Python libraries you may not know
- [Python crawler] detailed explanation of selenium from introduction to actual combat [2]
- This is what you should do to quickly create a list in Python
- On the 55th day of the journey, python opencv perspective transformation front knowledge contour coordinate points
- Python OpenCV image area contour mark, which can be used to frame various small notes
- How to set up an asgi Django application with Postgres, nginx and uvicorn on Ubuntu 20.04
- Initial Python tuple
- Introduction to Python urllib module
- Advanced Python Basics: from functions to advanced magic methods
- Python Foundation: data structure summary
- Python Basics: from variables to exception handling
- Python notes (22): time module and calendar module