Opencv 2 차원 직사 도 계산 및 그리 기 실현
1.효과 도
원본 그림 은 다음 과 같 습 니 다.
1 차원 직사 도 는 다음 과 같다.
2 차원 직사 도 는 다음 과 같다.
X 축 은 S 값 을 표시 하고 Y 축 은 색 조 를 표시 합 니 다.
hsvmap 효과 그림 은 다음 과 같 습 니 다.
2.소스 코드
# OpenCV : cv2.calcHist() 。
# 1D , BGR
# 2D , BGR 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
Opencv 가 2 차원 직사 도 를 실현 하 는 계산 과 그리 기 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Opencv 2 차원 직사 도 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Opencv 학습 노트 (2): Opencv 의 기본 데이터 형식 과 데이터 구조매트릭스 데이터 형식: C 언어 에서 2 차원 데이터 중의 데이터 형식, 예 를 들 어 int, float, char 등 과 같다.Opencv 에서 행렬 의 데이터 형식 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.