Собираю тут дрон в путешествие, примерил крепление для GoPro. На простых FPV-дронах присутствие GoPro — обычное явление. Курсовая камера обычно не слишком высокого качества, и для окончательного видео ведут запись отдельно. Но зачем это на DJI, у которого и так камера с хорошими характеристиками?
Всё дело в стабилизации. С одной стороны, у GoPro на борту алгоритм Hypersmooth, который неплох, но не превосходит бортовой же алгоритм, встроенный в DJI. По крайней мере, разница совершенно точно не стоит добавочных 200 грамм веса и добавочных денег на покупку GoPro.
Но всё меняется, когда речь заходит о постобработке. GoPro пишет данные с гироскопа, синхронизированные с видеорядом, то есть угол наклона и другие движения можно вычислять не с помощью анализа изображения, а просто знать действительные значения в момент съёмки. Это позволило им выпустить программу ReelSteady, которая стабилизирует, как боженька. Ничто даже близко не подобралось к ней. Результат стабилизации невероятно офигенный и на три головы превосходит абсолютно все другие решения на рынке. Из-за этого многие владельцы DJI FPV, как и я, прикручивают на свой дрон GoPro, жертвуя маневренностью и полетным временем (а в случае аварии ещё и дополнительными деньгами).
Очень странно, что компания DJI сама не сделала ничего подобного: гироскоп в системе есть, алгоритм стабилизации известен — да, существует опенсорсная альтернатива ReelSteady под названием GyroFlow, работает ничуть не хуже. Но факт остаётся фактом: стабилизация на основе гиро-данных на световые годы впереди всего остального. Она, конечно, требует изрядных вычислительных ресурсов и не может быть произведена прямо на борту дрона или экшен-камеры. Даже мощный компьютер справляется не в реальном времени. Тем не менее, для получения действительно качественного результата это всё оправдано.
Я пока ни разу не пробовал сам летать с GoPro. Если не убьюсь о первую же скалу в Карелии, вы сможете увидеть результат через пару недель.
#gadgets#drone
#java
The Model Context Protocol (MCP) Java SDK helps developers connect AI models with tools and data sources using a standardized interface. It supports both synchronous and asynchronous communication, making it flexible for different applications. The SDK includes features like tool management, logging, and multiple transport options, which simplify interactions between AI systems and external tools. This benefits users by providing a consistent way to integrate AI with various data sources, reducing the complexity of managing multiple connectors for different tools.
https://github.com/modelcontextprotocol/java-sdk
#java
BookLore is a self-hosted web app that helps you organize, manage, and read your personal book collection easily. You can sort books into libraries and shelves, automatically get book details from sources like Goodreads, and track your reading progress on PDFs and eBooks with a built-in reader. It supports multiple users with separate accounts and secure login options, so everyone can manage their own books without mixing collections. You can upload many books at once, share books by email (great for Kindle users), and browse books via compatible reading apps. This gives you full control over your digital library with a clean, modern interface and continuous updates[1][2][5].
https://github.com/adityachandelgit/BookLore
JSpecify — стандартизация Java-аннотаций для статического анализа кода и взаимодействия между языками JVM.
Если вы знакомы с Java или изучали исходный код, то одним из решений проблемы null является использование аннотаций nullability. Однако реализаций таких аннотаций много: JetBrains, Android Jetpack, Spring, Uber и другие создали свои версии.
Решений очень много, и возникла проблема выбора и поддержки. Хотелось бы иметь стандарт в Java, но договориться не удалось.
Консорциум компаний и команд из Google, JetBrains, Meta, Kotlin, Android, Spring, PMD, Sonar, EISOP и других объединился и создал единый стандарт, который обязуются поддерживать в своих решениях.
JSpecify 1.0 сосредоточен на nullability и содержит четыре аннотации: @NonNull, @Nullable, @NullMarked, @NullUnmarked.
Интеграция уже началась в библиотеки Jetpack Android и Kotlin.
#java
Java Backend
1 - dars. Kirish
- JVM, JRE, JDK
- Java qanday ishlaydi?
- O‘zgaruvchilar
- Maʼlumot turlari
- Kommentariyalar
- Chiqarish
Mentor : Hasan Po‘latov
#java
👉@ummat_uchun_dasturlash