Как создать гистограмму двоичного изображения? - PullRequest
0 голосов
/ 07 июня 2018

У меня есть двоичное изображение (только 2 цветное, черно-белое), Binary Image

Я хочу создать гистограмму изображения.Я пытался с этим кодом:

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('bin_003.png')
color = ('b','g','r')
for i,col in enumerate(color):
    histr = cv2.calcHist([img],[i],None,[256],[0,256])
    plt.plot(histr,color = col)
    plt.xlim([0,256])
plt.show()

Но код показывает Histogram вместо того, чтобы показывать только 0 и 1 на оси х.

1 Ответ

0 голосов
/ 07 июня 2018

Поскольку у вас есть черно-белое изображение, оно должно иметь только один канал.Вам не нужны каналы RGB.Вы можете создать одну гистограмму, используя plt.hist.

from matplotlib import pyplot as plt

img = plt.imread('https://i.stack.imgur.com/y19dr.png')

plt.hist(img.flatten(), bins=[-.5,.5,1.5], ec="k")
plt.xticks((0,1))
plt.show()

enter image description here

...