2017-02-21 44 views
2
функция

C++ является:OpenCV: Параметры Значение в моменты Функция

Моменты моменты (InputArray массив, BOOL binaryImage = ложь)

Первый я понимаю, что это такое, для второго один он говорит:

binaryImage - Если это правда, все ненулевые пиксели изображения рассматриваются как 1's. Параметр используется только для изображений.

Что это значит? Я говорю, что это правда только для двоичных изображений, а false для не двоичных изображений? В моем приложении я использую двоичное изображение для вычисления простых моментов.

ответ

2

Это означает, что если это значение верно изображение вставки будет рассматриваться как это бинарное изображение означает, что даже если у вас есть значения, которые больше, чем 1 они будут рассматриваться как 1.

I (х, у)> 0 = 1

I (х, у) == 0 = 0

Если значение вставки ложно, чем значения в моменты будут принимать реальное значение в вычислении моментов.

Например позволяет сказать, что у вас есть следующий 3x3 изображение:

M00, которая является областью изображения будет :

Если флаг верен, у нас есть 4 пикселя, которые не равны нулю, а значение будет равно 4.

Если флаг фальшивый, у нас будет 100 + 10 + 10 + 1 = 121

Когда вы должны использовать что?

Допустим, у нас есть капля на нашем изображении. Если мы рассматриваем изображение как двоичное, чем моменты, мы предоставим нам пространственную информацию о блобе. Например, m01/m00 и m10/m00 будут давать центр массы объекта.

Но если мы рассматриваем изображение не как бинарное, чем моменты, мы дадим нам информацию о текстуре/цвете. Например, m00/(количество пикселей в блобе) = средний цвет blob.

+0

Исходя из этого, я проверил что-то. Мое входное изображение - двоичное изображение. Поэтому, если я дам false, это будет так, как есть ... 0 и 1 изображение. Если я позволю этому правду, то он останется неизменным, не так ли? Таким образом, выход должен быть одинаковым для обоих из них. Поправьте меня если я ошибаюсь. Но это не так. Зачем? – Alex

+0

Я снова прочитал документацию и исправил свой ответ. Взгляни. –

+0

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