-
Количество публикаций
3 873 -
Зарегистрирован
-
Посещение
-
Days Won
346
Сообщения, опубликованные пользователем Smorodov
-
-
Можно и не выравнивать, а просто швы блендингом замазать. Делаете маску с элементами 0 для первого изображения, 1 для второго, размываете, и получаете результат как res=mask.mul(I_1)+(1-mask).mul(I_2). Нужно делать поканально, все матрицы преобразовать к CV_32FC1.
Получим плавный переход в месте стыка.
-
Ну так можно же фотографию 24 MP уменьшить до 0.3 MP и собрать ту же статистику намного быстрее.
Ну или собирать данные с заданным шагом, а не каждый пиксель, а в одной из программ я просто 100000 точек со случайными координатами собирал и по ним кластеры считал.
-
В примерах SDK есть пример захвата видео или получения кадра с камеры ?
Если есть, то создайте cv::Mat и заполните его данные данными полученными с камеры при помощи SDK.
Это будет полезно: http://docs.opencv.org/2.4/doc/tutorials/core/how_to_scan_images/how_to_scan_images.html
-
Как я понял, в статье по ссылке упоминается как раз подход с k-means сегментацией.
Цвета палитры это центры кластеров.
-
А, наверное я неправильно понял. Посмотрите тогда color dithering , например здесь есть: https://github.com/dpiccone/dithering_algorithms
-
Подойдет любой кластеризатор, например: kmeans, гауссовы смеси, для особо изощренных, можно использовать нейронные сети.
-
Так грузите по частям, кусок обработали, загрузили новый.
-
Это может быть, может быть на AF можно реализовать быстрый решатель, но изначально, как я понял, AF не математическая библиотека, а скорее подобие stl, и математический функционал на ней нужно реализовывать руками. Тот пример, который я брал, он сильно напрямую реализован, безо всяких стабилизаций, ускорений, учета структуры матрицы, поэтому и работает медленно и неточно.
-
import cv2 oprncv-шная либа import numpy as np //что за numpy? библиотека работы с матрицами, в питоне нет cv::Mat, там их заменяют матрицы numpy. from matplotlib import pyplot as pl библиотека для отрисовки графиков и изображений.
Это питоновские "#include" для С++ хватит и "#include opencv2/opencv.hpp" остальное в питоне и в C++ вариантах очень похоже.
-
12 строчек !
За 6 дней можно не то что разобрать пример, но и питон выучить, если есть желание, а если нет, тогда привет.
-
Я собирал opencv под vs2015 x64, все собирается гладко.
-
Opencv нормально собирается и в x32 и в x64 конфигурациях солюшн генерируется при помощи CMAKE.
-
Значит так, ArrayFire, довольно стремная штука, и решает очень медленно, сильно медленнее чем Eigen. Скорее всего это связано с тем, что пример решателя, который я взял самый наипростейший. И еще, в документации и примерах везде инициализация рандомом. Как затолкать и вытащить в массив/из массива то что мне надо я ковырялся целый день.
В результате нашел решатель в MKL, пол дня разбирательств с blas-подобными командами, и готово.
Решает намного быстрее и стабильнее чем Eigen, примерно как MATLAB.
Пример работы с этой штукой у меня на диске лежит здесь:
c:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.2.187\windows\mkl\examples\examples_core_c.zip\solverc\source\dss_sym_c.c
DSS, насколько я понял это надстройка над PARDISO намного более гибкой штукой, но параметров там сильно больше нужно задавать.
-
Ну еще всякие RANSAC бывают.http://stackoverflow.com/questions/26222525/opencv-detect-partial-circle-with-noise
- 1
-
-
Можно посмотреть здесь: http://programming-by-demonstration.org/sourcecodes.php, здесь не напрямую конечно, но в качестве источника вдохновения может подойти.
- 1
-
Спасибо, попробую.
Насколько я понял, решателя в готовом виде там нет, но есть пример с реализацией сопряженного градиента: https://arrayfire.com/sparse-matrices-in-arrayfire-v3-4/
-
Нелинейный Кальман, это фильтр частиц. А вообще с птицами случай сложный. Если одна птица влетела в дерево, а другая вылетела, или две ? Может тут и не нужно держать трек ? Разпознавалку птиц можно сделать по скорости изменения конфигурации объекта, то есть птица машет крыльями меняется ее силуэт, меняется он довольно часто (зависит от вида птицы конечно), можно фиксировать флюктуации яркости объекта (изменение гистограммы яркостей во времени) .
-
Отправляю: http://docs.opencv.org/2.4/doc/tutorials/core/how_to_scan_images/how_to_scan_images.html
У ас MathTemplate выдаст изображение с типом элементов float если мне не изменяет склероз.
http://docs.opencv.org/trunk/d4/dc6/tutorial_py_template_matching.html см. картинки слева. И снизу, кстати есть пример поиска монеток на экране (на питоне, но смысл тот-же).
Просканировали его и выбрали максимумы.
-
Понадобился решатель разреженных СЛАУ. Попробовал Eigen (сопряженный градиент) и MATLAB, сравнил по скорости...
МАТЛАБ быстрее в 6 раз. Кто нибудь видел быструю либу для таких целей, нормально собирающуюся под виндой?
Рыл сеть, нарыл неплохой список:
http://www.netlib.org/utk/people/JackDongarra/la-sw.html
Но все что пробовал (elemental, MUMPS,PaStiX) требует много танцев.
Есть еще cuSparse, но хотелось бы CPU-шный вариант.
-
Ну так камера-то (как и человеческий глаз кстати) видит не в пикселях и не в метрах, а в угловых единицах. Есть угол зрения камеры по вертикали и по горизонтали, если смещаетесь на какое то расстояние от оптической оси камеры, то можно найти угол, он будет пропорционален расстоянию от центра изображения. Точное значение можно посчитать если учесть угол обзора, естественно, это верно если камера откалибрована.
- 1
-
Да, но стилизация штука тонкая, может глаз на лбу выскочить, или еще что, тут этого нет.
Но я думаю все таки нейронка, специфически обученная.
-
Хотя нет, видимо все же нейронка.
-
Наткнулся на картунизатор, как думаете какие тут преобразования? Для нейронки слишком четко, для детектора граней слишком аккуратно, борода и волосы преобразованы грамотно.
Сайт: http://itoon.net/#onlinedemo
Исходное:
Результат:
НЕ загружаются изображения imread
в OpenCV
Опубликовано · Report reply
img_obj и img_s не должны быть одной и той же матрицей.
Клонируйте матрицу одну от другой, чтобы data были разные, если A=B то матрицы указывают на те же данные, делайте A=B.clone();