#
-
*
-
coding
:
utf
-8
-
*
-
import
matplotlib
.
pyplot
as
plt
import
numpy
as
np
import
cv2
as
cv
""
" 打印一個灰度圖片的直方圖
""
" img
=
cv
.
imread
(
'E:\\tmp\\cat.jpg'
)
cv
.
imshow
(
"orgin"
,
img
)
def
gray_histogram
(
)
:
""
" 灰度圖
:
return
:
""
" # ravel方法代表返回一個連續扁平化的數組 # hist參數:數組,bin數量,像素值範圍 gray
=
cv
.
cvtColor
(
img
,
cv
.
COLOR_BGR2GRAY
)
plt
.
hist
(
gray
.
ravel
(
)
,
256
,
[
0
,
256
]
)
def
color_histogram
(
)
:
""
" 彩色圖
:
return
:
""
" # 藍 綠 紅 color
=
(
'b'
,
'g'
,
'r'
)
for
i
,
col
in
enumerate
(
color
)
:
histr
=
cv
.
calcHist
(
[
img
]
,
[
i
]
,
None
,
[
256
]
,
[
0
,
256
]
)
plt
.
plot
(
histr
,
color
=
col
)
plt
.
xlim
(
[
0
,
256
]
)
gray_histogram
(
)
#
color_histogram
(
)
plt
.
show
(
)
cv
.
waitKey
(
0
)