Перейти к содержимому
Compvision.ru

sigizmynd

Пользователи
  • Количество публикаций

    6
  • Зарегистрирован

  • Посещение

Репутация

0 Новичек

О sigizmynd

  • Звание
    Новичок
  1. все получилось, оказалось не задал параметры для изображений. Спасибо
  2. OpenCV ERROR: Null pointer (NULL array pointer is passed) in function cvGetMat, cxarray.cpp(2781) выдаёт вот такую вот ошибку. в чем может быть проблема?
  3. меня интересует "пробег по всем пикселям". uchar* ptr; //Первый прход по всем пикселям for( int y=0; y<height; y++ ){ ptr = (uchar*)(frame->imageData + y * frame->widthStep); for( int x=0; x<width; x++ ){ //Гасим всё кроме зелёного bool bGreen = ptr[3*x]+15<ptr[3*x+1]&&ptr[3*x+2]+15<ptr[3*x+1]; ptr[3*x] = ptr[3*x+1] = ptr[3*x+2] = bGreen*255; } ptra[y]=ptr; } следующей строчкой мы получаем столбец, я правильно понимаю? ptr = (uchar*)(frame->imageData + y * frame->widthStep); почему именно такие числа ptr[3*x]+15 объясните пожалуйста принцип. совсем не понимаю
  4. Здравствуйте. у меня такой вопрос. в OpenCV есть много стандартных алгоритмов. Но некоторые из них хотелось бы сделать своими руками, для закрепления понимания работы с изображениями. получить цветовые характеристики пикселов нету проблемы, но вот проблемы с выводом получившегося изображения. Т.е. хочу перевести изображение в grayscale. формула для перевода есть, значения пикселов есть, но вот как вывести получившиеся значения интенсивности на экран? можно ли обращаться к элементу IplImage и напрямую в него записывать данные. можно ли с ним работать как с двухмерным массивом. помогите, пожалуйста. --------------------------------------------- всё-таки методом тыка нашёл способ вывода изображения после обработки, но столкнулся с небольшой проблемой: у конечного (моего) изображения в самом низу отсутствует цвет. только строчки с шумом. в чём может быть причина? вот код: cvCvtPixToPlane(image,R,G,B,0); uchar* ptrRed,*ptrGreen,*ptrBlue; uchar arr[Height*Width]; ptrGreen = (uchar*)(G->imageData); ptrBlue = (uchar*)(B->imageData); ptrRed = (uchar*)(R->imageData); int x, y; for(y = 0; y < Height; y++) { for(x = 0; x < Width; x++) { arr[y*Width+x] = 0.3*ptrRed[y*Width+x] + 0.59*ptrGreen[y*Width+x] + 0.11*ptrBlue[y*Width+x]; } } Black->imageData = (char*)arr; может быть дело в приведении типа? или можно сделать как-то по-другому? прикрепляю принтскирн. работаю на виртуальной машине мандрива. слева изображение, обработанное стандартной функцией, справа моё. внизу изображения виден шум. спасибо.
  5. OpenCV и VirtualBox

    как оказалось, чем качать сначала opencv а потом к нему еще кучу всякой фигни, лучше сразу через сдандартный загрузчик загрузить его..... разобрался с компиляцией. спасибо.
  6. OpenCV и VirtualBox

    проблема такая. есть виртуалка Sun VirtualBox 3.0.6 на виртуалке стоит mandriva. Хотел привязать к мандриве опенцв, но ничего не получилось. Устанавливаю, но хэдеры все не видны. т.е. остаются только хэды которые по умолчанию были в мандриве, а все новые неизвестно куда копируются. Но это пол беды. пытаюсь скомпилить проект напрямую из папки, где находятся все основные хэдеры от опенцв, но опять же выдаёт кучу ошибок при компиляции. может кто подскажет, как правильно скомпилить проект или скиньте make файл, буду чрезмерно благодарен.
×