2012-06-11 3 views
1

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

if (sum == Original_Sum[0]) 
    sum1++; 
//original sum is array of type long 

Я получаю эта ошибка:

error C2440: 'initializing' : cannot convert from 'cv::Scalar (__cdecl *)(cv::InputArray)' to 'double'

литье или .val[0] не работает, любое предложение? заблаговременно ...

+4

сообщение еще немного соответствующий код. Что такое '.val [0]'? Что такое 'Original_Sum [0]'? – dirkgently

+1

Эти типы данных: 'sum' и' Original_Sum [0] 'почти наверняка не относятся к типу' long', как вы предложили. И сообщение об ошибке, и ваше упоминание о '.val [0]' подтверждают это. Пожалуйста, разместите объявления/определения. –

+0

Я определил их как долго, но результат суммы рассматривается как вектор. Я не знаю почему? – Storm2012

ответ

0

Это как вы объявили эти переменные?

long Original_Sum[1]; 
long sum; 
long sum1; 

Потому что, если они были объявлены, как это, то нет ничего плохого с кодом, насколько я могу видеть

Кроме того, .val не является членом типа длинного

Смежные вопросы