как бороться с отрицательными значениями при вычитании текущего пикселя со средним - PullRequest
0 голосов
/ 16 марта 2020

Я вычитаю среднее значение изображения для каждого пикселя, используя следующий код (надеюсь, я делаю это правильно):

for filename in glob.glob('video//frames//*.png'):

    img = cv2.imread(filename,0)    

    values_list.append(img[150,:]) #Get all rows at x-axis 17 which is the row pixels
    values_mean.append(np.round(np.mean(img[150,:]), decimals=0)) 


output = np.array(values_list)
values_mean = np.array(values_mean).reshape(-1,1)
new_column_value = values_mean - output

Когда я строю график, я получаю

enter image description here

Как лучше всего справляться с отрицательными значениями? Должен ли я просто добавить оператор if, если значение выше 255 или ниже 0, чтобы сделать его 0? но кто-то упомянул: «... вы убиваете информацию о том, где находятся негативы ...», так как правильно с этим справиться?

Я намерен рассчитать величину сдвига между кадрами, получив максимальное значение корреляции subtracted image и сравнение его с соседней рамкой

Существует бесчисленное множество похожих вопросов, но не может найти solid заземление здесь , здесь , здесь , здесь .... et c

1 Ответ

1 голос
/ 16 марта 2020

Если вы пытаетесь определить, «насколько далеко от среднего значения находится данный пиксель», то не имеет ли смысла брать абсолютное значение вашего результата?

new_column_value = np.absolute(values_mean - output)
...