Fresh 0 Жалоба Опубликовано January 21, 2011 Здравствуйте. Подскажите пожалуйста. Есть изображение /2 цвета - черный и белый/ нужно подсчитать количество белых пикселей в столбце (ширина=1px,высота=Высота_изображения) /*Иметь значения кол-ва белых пикселей во всех столбцах изображения src*/ Выделяю ROI(ширина=1px,высота=Высота_изображения) на исходном изображении и прохожусь по столбцу в цикле функцией s=cvGet2D(src,j,0); т.к. столбцов много... то происходит это продолжительное время.. может есть функция которая делает это одной командой ? подскажите /лучше на примере/. Заранее спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано January 21, 2011 Я как-то уже приводил пример для однотонного изображения (не RGB!):std::vector<int> hist(img->width, 0); for (int y = 0; y < img->height; ++y) { unsigned char *pbuf = (unsigned char *)(img->imageData + y * img->widthStep); for (int x = 0; x < img->width; ++x) { if (*pbuf) ++hist[x]; ++pbuf; } } В итоге hist[0] содержит число белых пикселей в первом столбце, hist[1] - во втором,... Можно ещу попробовать вызвать cvIntegralImage. Но там и вычислений больше, и после всякие телодвижения применять при вычислении суммы для каждого столбца (пару сложений/вычитаний и пару делений). 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано January 21, 2011 Вот готовая команда: http://www.compvision.ru/index.php/%D0%A1%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0 в конце (cvReduce) Здесь пример применения: http://www.compvision.ru/wiki/%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BB%D0%B8%D1%86%D0%B0 2 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано January 21, 2011 Вот готовая команда: в конце (cvReduce) Здесь пример применения: Ух ты! Оказывается, я велосипеды изобретаю. Надо справку внимательней читать... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах