Библиотека C/C++ разработчика
7.32K subscribers
707 photos
757 videos
8 files
1.02K links
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Download Telegram
Компьютерное зрение на С++: подключаем ML-библиотеки и обрабатываем результаты поиска объектов

Меня зовут Кирилл Колодяжный, я разрабатываю системы хранения данных в YADRO и изучаю нестандартные подходы к машинному обучению: создаю ML-проекты на С++.

Это вторая часть цикла о разработке приложения для обнаружения предметов на С++. В прошлом материале мы выяснили, как создать проект в IDE Android Studio, реализовать сессию непрерывного захвата и преобразовать изображение в матрицу OpenCV. Ссылку вы найдете в конце статьи.

В этой статье продолжим реализацию проекта и обсудим следующие шаги:

• Как подключить к проекту библиотеки машинного обучения PyTorch и NCNN.

• Как получить модели YOLOv5 и YOLOv4 для использования на мобильном устройстве.

• Как реализовать инференс моделей для обнаружения объектов.

• Как обработать результаты работы моделей YOLO, реализовав алгоритмы Non-Maximum-Suppression и Intersection-Over-Union.

В конце сравним производительность PyTorch и NCNN и решим, какой фреймворк подойдет для задачи лучше.

https://habr.com/ru/companies/yadro/articles/856110/

Мы в MAX

#cpp #programming

👉 @cpp_lib
👍82
🔥 Qt остаётся одним из самых востребованных инструментов для создания кросс-платформенных приложений. Хотите научиться писать программы, которые действительно работают и востребованы в бизнесе?

Приглашаем на бесплатный открытый урок «Пишем приложение органайзер на Qt»

🗓 6 октября, в 20:00 мск.
🆓 Бесплатно. Урок в рамках старта курса «Разработка прикладного ПО на Qt и ОС «Аврора»».
Регистрация: https://vk.cc/cQ0xna

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

🔗 Ссылка на регистрацию: https://vk.cc/cQ0xna

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Компьютерное зрение на C++: пишем приложение для поиска объектов под Android

Меня зовут Кирилл Колодяжный, я пишу код на С++ для систем хранения данных в YADRO. Помимо основной работы, интересуюсь машинным обучением и его возможностями, в том числе на «плюсах». Недавно мне стало интересно разобраться, как развернуть модель компьютерного зрения на мобильном устройстве с операционной системой Android.

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

Расскажу, как реализовать обнаружение объектов в реальном времени с помощью камеры на мобильной платформе Android с использованием библиотек PyTorch и NCNN и моделей компьютерного зрения YOLOv5 и YOLOv4. Шаблон моего приложения пригодится тем, кто хочет проверить прототип функциональности для компьютерного зрения на С++, использующий OpenCV на Android, но не хочет глубоко погружаться в программирование под Android.

В первой части цикла мы:

• создадим проект в IDE Android Studio,

• реализуем сессию непрерывного захвата изображений камеры,

• преобразуем изображения в матрицу OpenCV, чтобы сделать дальнейшую работу удобной.

https://habr.com/ru/companies/yadro/articles/850786/

Мы в MAX

#cpp #programming

👉 @cpp_lib
7👍4
Media is too big
VIEW IN TELEGRAM
Практика языка C.
Константин Владимиров.

На этом занятии мы завершим первый семестр знакомства с основами языка C и разберём многомодульные программы и структуры данных.

00:00 Хеш-таблицы.
15:10 Алгоритм Рабина-Карпа.
22:30 Range-based queries и снова о деревьях.
29:42 Многомодульные программы.
36:30 Структуры данных.
42:40 Литература и задачи.
44:45 Демонстрация многомодульных программ.

источник

Мы в MAX

#cpp #programming

👉 @cpp_lib
👍12🔥4❤‍🔥3
☄️Как устроено автодополнение в поисковых системах?

🗓 8 октября в 20:00 МСК приглашаем на открытый урок OTUS «Как вырастить префиксное дерево». На вебинаре мы пошагово построим префиксное дерево (Trie) для слов из большого текста, добавим счётчики частот и реализуем автодополнение. Вы увидите, как по первым буквам мгновенно находятся все слова с этим префиксом и выводятся самые популярные варианты продолжений.

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

Открытый урок проходит в преддверие старта курса «Алгоритмы и структуры данных». Все участники получат скидку на обучение.

👉Зарегистрируйтесь сейчас и узнайте, как вырастить своё первое Trie-дерево: https://vk.cc/cQ8KKM


Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Алгоритмы на С/С++

Задача о Ханойской башне
Быстрая сортировка (quick sort)
Бинарный поиск в отсортированном массиве
Сортировка методом выбора
Сортировка методом пузырька
Минимизация просмотров в методе сортировки пузырьком
Модифицированный метод пузырька
Сортировка методом вставок
Шейкер - сортировка

источник

Мы в MAX

#cpp #programming

👉 @cpp_lib
👍9
Коллекция библиотек и фреймворков для C++

Список удивительных фреймворков, библиотек, ресурсов и блестящих вещей на C++ (или C). Вдохновленный удивительными... вещами.

https://github.com/fffaraz/awesome-cpp

Мы в MAX

#cpp #programming

👉 @cpp_lib
1👍32🔥1
Media is too big
VIEW IN TELEGRAM
Контракты для С++
Тимур Думлер

Контрактное программирование — эффективный подход к написанию более безопасных и корректных программ. Он был успешно реализован в таких языках программирования, как Eiffel и Ada. В стандарте С++ контрактное программирование имеет долгую и сложную историю.

С тех пор как попытка добавить контракты в стандарт C++20 потерпела неудачу, SG21 — рабочая группа для стандартизации контрактов в комитете C++ — активно разрабатывает новую версию этой фичи. Сегодня эта версия контрактов уже практически полнофункциональна и с большой вероятностью будет включена в следующий стандарт C++26.

В этом докладе мы рассмотрели текущий дизайн контрактов для C++26. Обсудили разновидности контрактов (preconditions, postconditions, assertions), возможные режимы проверки, обработку нарушений и многое другое. Рассмотрели, чем текущий дизайн превосходит существующие реализации на макросах и как помогает повысить безопасность и корректность кодовой базы.

источник

Мы в MAX

#cpp #programming

👉 @cpp_lib
1👍84
⌨️ Открытый урок «Умные указатели в С++»

🗓 23 октября в 20:00 МСК

🆓 Бесплатно. Урок в рамках старта курса «C++ Developer. Professional».

🎯 Что рассмотрим на вебинаре:
✔️ Узнаем, для чего нужны умные указатели
✔️ Рассмотрим правило "взял память - верни, когда больше не нужна"
✔️ Разберемся с разными типами умных указателей

👥 Кому будет интересно:
- junior, junior+ C++ Разработчикам

Чему научатся участники по итогам вебинара:
- Научимся решать проблему управления ресурсами
- Рассмотрим глупый умный указатель; unique_ptr.; Shared_ptr; weak_ptr; enable_shared_from_this
- Научимся выбирать нужный умный указатель

🔗 Ссылка на регистрацию: https://vk.cc/cQlkfS

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Media is too big
VIEW IN TELEGRAM
Сборка C++ проектов. CMAKE. Game Engine серии

0:00:00 - Введение
0:01:32 - Пишем мини игру. FightClub
0:17:03 - MSBUILD
0:19:20 - Собственный build скрипт
0:26:52 - Build системы. Теория
0:34:17 - CMAKE
1:28:00 - Автоматизация CMAKE команд

источник

Мы в MAX

#cpp #programming

👉 @cpp_lib
👍112
Хотите собрать свой мини-Google? 🚀
🗓 22 октября, 20:00 приглашаем на открытый урок OTUS «Мини-поисковик своими руками». На этом вебинаре вы создадите поисковик с нуля — без готовых библиотек и магии. Только алгоритмы и код.

Разберём, как:
• объединить КМП и префиксное дерево;
• реализовать автодополнение и подсчёт вхождений;
• оптимизировать поиск под большие тексты;
• превратить всё это в маленький, но работающий офлайн-поисковик.

После вебинара вы сможете самостоятельно:
— строить индекс слов и быстро искать по нему;
— собирать статистику запросов;
— понять, как внутри устроены поисковики.

Открытый урок проходит в преддверие старта курса «Алгоритмы и структуры данных». Все участники получат скидку на обучение.

Присоединяйтесь 22 октября в 20:00:

https://vk.cc/cQoByu

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Media is too big
VIEW IN TELEGRAM
В докладе «Delivering safe C++» Страуструп затронул проблемы имиджа и распространения C++

источник

Мы в MAX

#cpp #programming

👉 @cpp_lib
👍3