-
Количество публикаций
7 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем DenisN03
-
-
Что скажете по поводу этой(https://market.yandex.ru/product/8279754?nid=55350) камеры? Угол обзора объектива 120 градусов + наличие HD.
-
-
Привет! Помогите подобрать модель и тип камеры для построения карты глубины. Планируется установка двух камер с разных сторон автомобиля и нужно чтобы камеры охватывали как можно большую область видимости. Пробовал работать с обычными вебкамерами, но у них маленький угол обзора (порядка 60 градусов), поэтому его не хватает.
-
Возникла необходимость подключить внешнюю usb камеру к android приложению и вывести изображение на экран смартфона. Кто нибудь занимался схожей задачей? Работаю в Android Studio 3. Проекты(https://github.com/openxc/android-webcam, https://github.com/theicfire/simplewebcam, https://github.com/saki4510t/UVCCamera) с github вылетают с ошибками.
-
Я нашел функцию которая обрабатывает результат, но она для языка С++. Можете подсказать как ее преобразовать в Java?
static void colorizeSegmentation(const Mat &score, Mat &segm)
{
const int rows = score.size[2];
const int cols = score.size[3];
const int chns = score.size[1];Mat maxCl = Mat::zeros(rows, cols, CV_8UC1);
Mat maxVal(rows, cols, CV_32FC1, score.data);
for (int ch = 1; ch < chns; ch++)
{
for (int row = 0; row < rows; row++)
{
const float *ptrScore = score.ptr<float>(0, ch, row);
uint8_t *ptrMaxCl = maxCl.ptr<uint8_t>(row);
float *ptrMaxVal = maxVal.ptr<float>(row);
for (int col = 0; col < cols; col++)
{
if (ptrScore[col] > ptrMaxVal[col])
{
ptrMaxVal[col] = ptrScore[col];
ptrMaxCl[col] = (uchar)ch;
}
}
}
}segm.create(rows, cols, CV_8UC3);
for (int row = 0; row < rows; row++)
{
const uchar *ptrMaxCl = maxCl.ptr<uchar>(row);
Vec3b *ptrSegm = segm.ptr<Vec3b>(row);
for (int col = 0; col < cols; col++)
{
ptrSegm[col] = colors[ptrMaxCl[col]];
}
}
} -
Создаю андроид программу которая с использованием opencv(dnn) загружает модель нейронной сети Enet и производит сегментацию входного изображения. Все идет гладко до обработки полученных результатов. На языке python обработка производится довольно просто - в цикле проходимся по матрице пикселей и в зависимости от значения присваиваем ему цвет. В java все не так: после работы возвращается объект типа Mat со следующими параметрами:
res = Mat [ -1*-1*CV_32FC1, isCont=true, isSubmat=false, nativeObj=0x7f3e56fff160, dataAddr=0x7f3e44806000 ] res.total() = 1036800 res.channels() = 1 res.size() = 6x1 res.dims() = 4 res.cols() = -1 res.rows() = -1
Более того если все таки достать(http://answers.opencv.org/question/175676/javaandroid-access-4-dim-mat-planes/) значения пикселей из полученного результата то они не соответствуют ожиданиям. Т.е. каждому классу соответствует число например если 5 классов то возвращаются числа от 0 до 4(так работает на python). Здесь же мне возвращаются числа вида: -26.287221908569336, -14.588539123535156, -7.386473655700684, 1.4765703678131104, 15.550891876220703.
Кто нибудь знает как преодолеть данную проблему? Почему объект Mat возвращает не те значения?
Проекты квадрокоптера на Raspberry PI3 с машинным зрением
в Обсуждение общих вопросов
Опубликовано · Report reply
Привет. Есть ли какие нибудь интересные проекты по созданию квадрокоптера с использованием Raspberry PI3 в качестве основной управляющей платы? Я нашел примеры только на Arduino, но хочется использовать именно Raspberry т.к. планируется установка камеры и обработка изображений в реальном времени. Интересуют проекты в которых используется машинное зрение для навигации квадрокоптера.