首頁 > 軟體

Python數位影像處理基礎直方圖詳解

2021-09-28 19:09:14

直方圖的定義

直方圖的性質

只統計某個灰度級出現的次數,影象的大小不一樣的話, 某灰度值的畫素出現的次數是不一樣的。
那如果我們在這基礎上除以畫素總個數的話,那就是某一灰度級出現的概率,那麼這樣的話不同大小的同一內容影象其灰度直方圖是一樣的。

直方圖的應用

影象增強

影象分割

影象識別

Python直方圖的計算

import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread('cameraman.tif',0)
img = img.flatten()
img = img.tolist()
myhist = []
for i in range(0,256):
	myhist.append(img.count(i))
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用來顯示中文標籤
# plt.rcParams['figure.dpi'] = 100 # 每英寸點數
plt.figure()
plt.bar(x=range(0,256),height=myhist,width=0.5)
plt.title('直方圖')
plt.xlabel("灰度值")
plt.ylabel("畫素個數")
plt.show()

執行結果圖:

plt.rcParams引數設定:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] # 用來顯示中文標籤
plt.rcParams['axes.unicode_minus']=False # 用來顯示負號
plt.rcParams['figure.figsize'] = (16.0, 10.0) # 調整生成的圖表最大尺寸
plt.rcParams['figure.dpi'] = 300 # 每英寸點數
呼叫plt.rcParams.keys()可獲取rcParams的全部引數以及預設值。
例如:
'figure.dpi': 100.0   每英寸點數
'figure.figsize': [6.0, 4.0]  生成的圖表最大尺寸
'font.size': 10.0  字型大小
'hist.bins': 10  直方圖分箱個數
'lines.linewidth': 1.5  線寬
'lines.marker': 'None'  標記樣式
'savefig.format': 'png'  儲存圖片的格式
'savefig.jpeg_quality': 95  圖片質量
'text.color': 'black'  文字顏色
'timezone': 'UTC'  時區格式


以上就是Python數位影像處理基礎直方圖詳解的詳細內容,更多關於Python數位影像處理基礎直方圖的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com