Как сделать polyfit () гистограмму OpenCV calcHist ()? - PullRequest
0 голосов
/ 22 мая 2018

У меня что-то вроде этого:

import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt
import numpy.polynomial.polynomial as poly

img = cv.imread('SomeImage.jpg')
color = ('b','g','r')
for i,col in enumerate(color):
    histr = cv.calcHist([img],[i],None,[32],[0,256])
    plt.plot(histr,color = col)
    plt.xlim([0,32])

    x = np.linspace(0,histr.shape[0],1);  # <== ERROR HERE
    poly.polyfit(x, histr, 4)

Я получаю следующую ошибку:

File "/Users/case/anaconda2/lib/python2.7/site-packages/numpy/polynomial/polynomial.py", line 1438, in polyfit raise TypeError("expected x and y to have same length") TypeError: expected x and y to have same length

Я довольно новыйк этому, но, кажется, я упускаю что-то простое?

1 Ответ

0 голосов
/ 22 мая 2018

Это выглядит как небольшая синтаксическая ошибка при вызове np.linspace.Правильный синтаксис:

x = np.linspace(interval_start, interval_end, number_of_points)

, поэтому в вашем случае это будет

x = np.linspace(0, 1, histr.shape[0])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...