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

Pavia00

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

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

  • Посещение

  • Days Won

    15

Сообщения, опубликованные пользователем Pavia00


  1. Так как IplImage унаследован от Mat то можете смела его использовать как матрицу. Прямое и обратное преобразование будет происходить автомотически.

    Чтобы явно написать можно сделать так.

    //Преобразование из IplImage в CvMat, без копирования данных.

    CvMat cvmat = image; // convert cv::Mat -> CvMat

    Что касается обратного, то тогда если используете явное преобразование, то надо будет приляпать заголовок.

    IplImage stub, *dst_img;

    dst_img = cvGetImage(src_mat, &stub);


  2. Разница в семантике.

    1) Для того что-бы другие люди могли вас правильно понимать вы должны осмысленно давать имена переменным, классам.

    2) Разделяй и властвуй. Для архитектуры важно разграничивать разные блоки.

    Так вот есть два различных понятия матрица и изображения.

    Матрица это математическое понятие и к графике оно не имеет отношения. Но над матрицами определены операции сложения умножения, собственные вектора и тд.

    Над изображением определены другие операций перевод в градации серого, оператор границ.

    Правильнее использовать

    IplImage*Image=cvLoadImage("70.jpg");

    cvShowImage("input", image);

    А если нужно сделать вычитание или сложение, то переводишь в матрицу cv::Mat mat

    Это культура программирования. И она важна, когда над проектом работает много людей.


  3. http://ru.wikipedia.org/wiki/Алгоритм

    Советую прочитать формальное определение алгоритма.

    функция!=оператор?

    Да, это разные понятия. В математическом смысле функция она шире оператора. Что касается не математического, то не знаю.

    Если верить википедии, то не любой. Но большинство будут исчислимы.

    опять же например гауссиана это просто функция, но из нее тоже как то получают ядро.

    получается можно получить ядро из любой функции?

    Я бы не сказал что из функции получают ядро. Её просто используют как ядро.


  4. Есть хорошо известные правила ведения проектов. В том числе и научных.

    Обычно начинают с поиска аналогов.

    А вообще по обработке книг очень хорошей сайт.

    http://www.djvu-soft.narod.ru/

    Там найдёте и программы для обзора и методы и и даже часть реализаций.

    А возможно вам даже не придётся писать и вы возьмёте одну из существующих программ.


  5. По поводу скачков освещённости, надо усреднить во временной области. Я бы ещё попробовал выравнивать освещённость, считаем средниее а затем выитаем из картинки. Плюс я ещё заметил градиент освещённости от центра так, что порог лучше брать локально-адаптивный.


  6. Я про: Яркость Констрастность , Кривые.

    Они позволяют не только более качественно отобразить, но и применять к картинкам обычные неадаптивные алгоритмы. Например, порог с константным значением.

    Они не анализируют картинку поэтому параметры к ним всё равно придётся подбирать. Даже если и анализируют то обычно эффекта не дают. Они ничего не знаю о нашей цели. А поэтому и не приносят желаемого результата.


  7. Максимум что я смог извлечь:

    out1.jpg

    У меня выше гауссианами яркость и выравнивается. Но результат неважный.

    Правда в той pdf-ке на размытое изображение исходное делится, а не вычитается.

    Может быть если побольше с параметрами повозиться, то будет лучше.

    Лучше делать так. Умное размытие с порогом (В фотошопе фильтр называется "пыль и царапины"). И делить (вычитание даёт плохой результат).

    Думаю, тебе надо немного ознакомиться с выравниванием яркости, автоконтрастом и т.д. Например здесь.

    Эти фильтры не меняют свойства картинки они только позволяют более качественно отобразить. Поэтому они не годятся для обработке.

    Я сделал преобразование HSV Взял компоненту H-тон и тем самым избавился от всех шумов!!! Единственно что фон пришлось выровнить через размытие и деление.

    Далее взял порог. Правда не обычный, а чуть по продвинутее(двойной мой любимый). Но обычный тоже хорошо работает.


  8. У нас на кафедре этим занимались. Я от этой работы отказался, но теорию изучил. По цвету обычно не считают. Обычно сразу переводят картинку в градации серого.Если по простому, то фрактальная размерность это логарифм от числа повторений базового элемента.Обычно в качестве базового рассматривается отрезок. Т.е достаточно подсчитать число отрезков. На практике это считается немного по другому. Box алгоритм и др.Одно число как-то не интересно поэтому рассматривают на картинке разные области и для каждой считают свою фрактальную размерность.Для первой картинке, где трещина выделяют границу и далее применяешь алгоритм подсчёта фрактальной размерности получаешь число или массив чисел. Для второй картинке аналогично. Просто там граница вокруг клякс будет.


  9. такую программу которая будет вектора изображений находить??

    Вам уже ответили . Могу ещё раз повторить. Легко. 2 цикла и все дела.

    Только вам это не поможет. Надо было учиться а не дурака валять. Проходят это на 1 курсе.


  10. Про вейвлеты можно легко описать в двух словах.

    Вейвлеты это разномасштабное разложение.

    На вход вейвлет преобразование подается базовый вейвлет некоторая функция и параметр отвечающий за масштаб. А также шаг дискретизации по масштабу и диапазон.

    Есть вейвлет преобразование Хаара. Это дискретный вейвлет преобразование. У него масштаб на каждом шаге увеличивается в 2 раза (или уменьшается кому как нравиться)

    А в качестве базового вейвлета выбрана функция состоящая из плюсов и минусов.

    Обычно описание вейвлета Хаара. Даётся в рекурсивной форме.


  11. Что-бы понять что хорошо а что плохо надо попробовать. Другого не дано. Ищите, пробуйте.

    С гистограммами не лучшая.

    Насколько помню у студентов Беркли сильная проработка в этом направление. А вообще готовый алгоритм оценки есть видел ссылку на него в работах группы МГУ по сжатию упоминался алгоритм сравнения. Вернее там несколько но думаю тут стоит сделать упор на тот, который ближе к человеческому восприятию.

    • Like 1

  12. Такие факторы как изменение освещенности могут сильно влиять на результат корреляции (или как вы еще предлагаете сравнивать по шаблону). При этом нормализация освещенности/контраста несильно поможет.
    Вычесть и посчитать считаешь MSE (E-Error)

    Как раз таки сравнение по шаблону наиболее устойчивая операция, так как избыточна. Поэтому её напротив и следует использовать.

    Во-вторых по мимо амплитудной корреляции есть и фазовая.

    Да и сравнение по частям борется со множеством вредных воздействий.

    Поворачивать на 10 градусов и сравнивать? Не вижу смысла.

    По поводу нормализации её следует применять. Ровно как и поворот. Если не стараться, то ничего и не выйдет. Для 5 градусов смысла поворачивать нету. А вот для 10 надо это уже много и может оказаться очень существенно.

    • Like 1

  13. У вас простой случай достаточно сравнения по шаблону. Или по кускам.

    В более сложных случаях используют контуры.

    3) Знак, полученный с камеры может быть повернут на какой-то угол, поэтому сравнивать корреляционно тоже нету смысла.

    Выровни.

    • Like 1

  14. <p>Разбиваешь сложную задачу на маленькие подзадачи. А их разбиваешь на ещё меньшие и так пока не дойдёте до тех которые можете решить.</p><p><br></p><p>Классическая схема. Вввод информации &nbsp;обработка вывод.</p><p>Поэтому первый модуль это ввод координат руки и её пальцев.</p><p>Второй &nbsp;обработка физики. Кубики должны падать. Рука должна хватать их (трение?).</p><p>Третий &nbsp;вывод 3D графике. Прозрачность, свет, тени.</p><p><br></p><p>&nbsp;

    </p>


  15. Программа Blender можно было и в 3D Max и майа. Просто взял то, что знаю.

    Функцию создания “Фаски” в некоторых билдах(версиях) ломали.

    что в квадрат переходит? Что-то нето)А где в вашей системе лазеры, что-то не пойму.

    По центру цилиндр. Сверху расположил чёрный квадрат(заслон), чтобы лишнее не отсвечивало в камеру. Поэтому на снимке выше посерёдке квадрат.

    Он же отражается в зеркале и сливается с цилиндром.

    Само зеркало идеальное, поэтому краев не видно. Можно и дорисовать.

    Лазер расположен слева, обозначен солнышком и парой лучей. Свет от него расходится, чтобы попасть на края цилиндра. Можно и узко направленный.

    В материале цилиндра выставлена функция моделирование бликов.

    Основной трюк в этой модели это Фаска+Блик.

    image.jpg


  16. Зеркала если они плоские то дают линейные искажения.

    x_m=с1*x;

    y_m=c2*y;

    Т.е круг будет превращаться в элипс.

    Если перед датчиком стоит линза, то у вас будут бочкообразные или подушко образные искажения. Круг так и останится кругом. А вот прямые станут выгнутыми.

    Но и это не всё. Дело в том что ваша заготовка может перемещаться в 3-х направлениях. Это тоже надо учесть.


  17. График возникает при переводе в пиксельные координаты. Масштаб такой получается, так как по горизонтали и по вертикали разная величина шага.

    Вот возьми и нарисуй так что бы были одинаковые. Делов то.

    Круг виден практически полностью.

    По закону физики ты больше 1/2 круга видеть не можешь. У другой половины лучи вниз отражаются, а там зеркал и датчика нет.

    Но все равно там у тебя 1/4. Легко увидеть если провести касательную к концу дуги. То там порядка 45 градусов. А что бы исказить до 0 градусов. Так это зеркало у тебя должно быть не прямое, а кривое и расстояния удачно совпасть с фокусным расстоянием.

    • Like 1
×