Pull to refresh
0
0

User

Send message

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 9. Мой пэт-проект

Level of difficultyEasy
Reading time8 min
Views9.7K

Оглавление: Уроки компьютерного зрения. Оглавление / Хабр (habr.com)

Начиная с этого урока, я буду рассказывать о компьютерном зрении на примере моего пэт-проекта. Для начала, что это будет за проект. На первом уроке я рассказал о стадиях обработки изображения в компьютерном зрении. В своем пэт-проекте я создам специальный конвейер, где эти стадии будут реализованы. Напомню кратко об этих стадиях:

Предобработка изображения.

Промежуточная фильтрация.

Выявления специальных признаков (фич).

Высокоуровневый анализ.

Разумеется, это не окончательный список стадий обработки. В будущем сюда может что-то добавиться, а так же некоторые стадии могут иметь подстадии.

Естественно, делать конвейер ради самого конвейера как-то бессмысленно. Надо, чтобы моя программа делала хоть что-то условно полезное. Сначала я хотел написать пэт-проект, который бы анализировал фотографии со спутников и БЛА и превращал их в граф (это перекликается с темой моей магистерской диссертации). Правда, это слишком уж амбициозная задумка для пэт-проекта. Надо что-то по- проще. В комментариях к одному из уроков мне посоветовали добавить в финале пару глав про выделение отдельных символов и распознавание их при помощи общедоступных нейронок. И вот я и подумал, может, начать пэт-проект именно с этой задачи? Распознавание текстов? Это гораздо проще.

Итак, для начала я создал пустой проект и добавил туда две папки: Exec и Libraries. В первой у меня будет запускаемый файл/файлы, во втором всякие библиотечные файлы. В качестве первого библиотечного файла создал Core.py:

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments0

Три уровня биохакинга. Как можно снова стать 18-летним за $2 млн в год

Reading time11 min
Views89K

Многие из нас хотели бы жить вечно. Или как минимум чувствовать себя здоровее. Но некоторые превращают это в цель своей жизни. Они тратят огромные деньги и усилия, чтобы изменить свою биологию, надеясь как-то оттянуть неизбежное, и вечно оставаться молодыми.

Понятно, что таким часто страдают спортсмены, для которых здоровье — это всё. Например, теннисист Новак Джокович, 35 лет, любит сидеть в камере под высоким давлением, чтобы обогатить свою кровь кислородом. Американский футболист Том Брэди в 45 лет принимает «антивозрастные» добавки, наносит на кожу увлажняющие порошки и катает по телу специальные вибрирующие шарики для улучшения гибкости мышц. А Криштиану Роналду выглядит моложе своих 38 лет за счет строгой диеты из яиц, батата и брокколи и регулярных «ванн» в своем личном кислородном резервуаре (гипербарическая оксигенотерапия).

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

Здесь, как обычно, есть три уровня: от начинающего хакера, впервые узнавшего, что такое root-доступ, и до бога-взломщика своего тела, на которого работает целый подпольный синдикат.

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

Осторожно, в посте много фото!

Читать далее
Total votes 55: ↑39 and ↓16+42
Comments257

Лучший учебник по математике? «Вычисляем легко»

Reading time16 min
Views24K

Математику было достаточно просто изучить?

Я услышал множество хороших отзывов о книге  Calculus Made Easy by Silvanus P. Thompson. Начал читать и правда, это была самая простая книжка на английском, которую я читал (советую попробовать почитать в оригинале), причем понял лучше, чем на родном языке.

Но зачем ее читать взрослым людям, знакомым с математикой не понаслышке?

В этом вопросе все просто: наверняка у многих уже есть дети или скоро будут, поэтому прививать любовь к знаниям и науке нужно с малых лет, иначе школа с их скупым языком испортит у ребенка все желание тянуться к прекрасному.

Но это не только для детей книга. Взрослым может посмотреть, а тому ли его учили в школе и не перепутал он ничего из-за долгих лет планирования бизнес-логики.

Особенно поможет людям, которые мечтали стать хардкорными "дата-сатанисами" и прочими гениями современности, но как-то все не складывалось. Для множества тестеров, эйчаров, проект менеджеров, кто нашел себя в айти, но хочет еще развиваться.

Перевод довольно вольный, я не профессиональный переводчик и даже не учился в MIT, но постарался предать максимально понятно и близко к смыслу текста. Приму ваши замечания к сведению. Перевел тестовый кусок, чтобы понять интересно ли вам такое, чтобы замотивироваться. Первый кусочек принадлежит кому-то, кто написал вводную книги, а второй оригинальному автору, что еще интереснее и забавнее. Ну что, полетели.

Окунуться в науку
Total votes 8: ↑7 and ↓1+9
Comments22

Основы рендеринга с wgpu на Rust

Reading time16 min
Views9.9K

В данной статье мы рассмотрим базовую теорию и практику рендеринга с помощью кроссплатформенного графического API wgpu. Данный API основан на стандарте WebGPU и предоставляет удобные, унифицированные и безопасные абстракции для взаимодействия с GPU. Используя wgpu мы инициализируем графическое устройство, создадим графический конвейер и нарисуем треугольник.

Читать далее
Total votes 26: ↑26 and ↓0+26
Comments4

Разбираем алгоритмы компьютерной графики. Часть 1 — «Starfield Simulation»

Reading time7 min
Views17K

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

Действовать буду по следующему принципу: беру какой-либо графический эффект (из демо, программы, игры – не важно) и пытаюсь реализовать этот же эффект максимально простым и понятным способом, разъясняя что, как и почему сделано именно так.

В качестве основы для вывода графики будет использован язык Python и библиотека PyGame. Этим набором можно очень просто что-то выдать на экран, сделать анимацию и т.п. не отвлекаясь на технические детали реализации.

Читать далее
Total votes 46: ↑46 and ↓0+46
Comments11

Программирование необычных шахмат

Reading time18 min
Views19K

Написание своего шахматного движка - обширная тема, про которую пишут целые книги.

Однако очень многие шахматные программы работают со "стандартными" правилами шахмат и не могут работать при других правилах, хотя существуют сотни вариаций шахмат.

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

Я запрограммировал 15 шахматных вариаций - для каждой опишу неожиданные ходы и результаты партий компьютера друг с другом.

Читать далее
Total votes 67: ↑67 and ↓0+67
Comments17

Быстрый, мощный интерфейс на Python

Reading time15 min
Views140K

Dear PyGui принципиально отличается от других фреймворков GUI Python. Рендеринг на GPU, более 70 виджетов, встроенная поддержка асинхронности — это лишь некоторые возможности Dear PyGui. Руководством по работе с этим пакетом делимся к старту курса по разработке на Python.

Читать далее
Total votes 54: ↑51 and ↓3+57
Comments48

Основы компьютерной геометрии. Написание простого 3D-рендера

Reading time30 min
Views52K
Привет меня зовут Давид, а вот я собственной персоной отрендеренный своим самописным рендером:

image

К сожалению я не смог найти более качественную бесплатную модель, но все равно выражаю благодарность заморскому скульптору запечатлевшему меня в цифре! И как вы уже догадались, речь пойдет о написании CPU — рендера.
Читать дальше →
Total votes 34: ↑33 and ↓1+43
Comments21

Рейкастинг в игровых 2D-движках

Reading time8 min
Views17K

Введение


На мой взгляд, рейкастинг — великолепная концепция, понять которую не так сложно, но качественных ресурсов по ней очень мало. Я расскажу о математике, лежащей в её основе, чтобы вы при желании с лёгкостью могли реализовать её в своих будущих проектах. Постараюсь сделать объяснение как можно более понятным, рассказать о всех тонкостях и проблемах, с которыми вы можете столкнуться. Также мы поговорим об оптимизации и о том, как сильно вам могут помочь пространственные хэш-карты. Ещё я напишу простые интерактивные примеры, с которыми вы сможете поэкспериментировать. Учтите, что демо написаны максимально простым образом, не ожидайте увидеть в них код уровня энтерпрайза — мы изучаем саму концепцию, а не реализацию.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments0

Как написать собственный игровой движок на C++

Reading time11 min
Views129K

Перевод статьи Джеффа Прешинга (Jeff Preshing) How to Write Your Own C++ Game Engine.


Как написать собственный игровой движок на C++


В последнее время я занят тем, что пишу игровой движок на C++. Я пользуюсь им для создания небольшой мобильной игры Hop Out. Вот ролик, записанный с моего iPhone 6. (Можете включить звук!)



Hop Out — та игра, в которую мне хочется играть самому: ретро-аркада с мультяшной 3D-графикой. Цель игры — перекрасить каждую из платформ, как в Q*Bert.


Hop Out всё ещё в разработке, но движок, который приводит её в действие, начинает принимать зрелые очертания, так что я решил поделиться здесь несколькими советами о разработке движка.


С чего бы кому-то хотеть написать игровой движок? Возможных причин много:

Total votes 39: ↑39 and ↓0+39
Comments17

Information

Rating
Does not participate
Registered
Activity