جدول المحتويات:

Vision 4all - Sistema Visão Assistida Para Deficiencyes Visuais Usando OpenCV، Dragonboard 410c E Aplicativo Android: 6 خطوات
Vision 4all - Sistema Visão Assistida Para Deficiencyes Visuais Usando OpenCV، Dragonboard 410c E Aplicativo Android: 6 خطوات

فيديو: Vision 4all - Sistema Visão Assistida Para Deficiencyes Visuais Usando OpenCV، Dragonboard 410c E Aplicativo Android: 6 خطوات

فيديو: Vision 4all - Sistema Visão Assistida Para Deficiencyes Visuais Usando OpenCV، Dragonboard 410c E Aplicativo Android: 6 خطوات
فيديو: Semana Acadêmica 2021 - Cadeias produtivas do Noroeste do Paraná - Bovinocultura 2024, يونيو
Anonim
Vision 4all - Sistema Visão Assistida Para Deficiencyes Visuais Usando OpenCV، Dragonboard 410c E Aplicativo Android
Vision 4all - Sistema Visão Assistida Para Deficiencyes Visuais Usando OpenCV، Dragonboard 410c E Aplicativo Android

الوصف

قم بالمشروع في وضع الاستقلالية الذاتية للعيوب المرئية في الأماكن المغلقة أو الأماكن المغلقة أو مراكز التسوق أو المطارات.

A locomoção em ambientes já mapeados pode ou não ser lookado um problema bem resolvido. Um aplicativo disponível na App Store para isso، ainda que sirva apenas para 3 ambientes e apenas nos EUA، é o LowViz Guide. Além do Limitado número de locais، tal aplicativo não locíveis obáculos e pessoas que posam estar no caminho do usuário. Assim، a missão deste projeto، através de visão computacional e processamento de imageem، Identificar Propíveis Obstáculos que Posam Surgir ao Longo do caminho do usuário e poder recalcular o caminho a ser seguido usdando المستقلة. نا prática ، o projeto ، embora ainda غير مكتمل ، جهاز غواصة متكاملة أو مطبقة من جهاز عرض pode ou desenhar uma planta baixa do local de interesse، seja uma casa ou shopping. Com a placa Integrada a uma câmera na cintura do usuário، e um fone de ouvido، o aplicativo calcula a posição no ambiente e permite o usuário select a onde quer ir e dá dá comandos de voz para movimentação. A camera، quando detacha um mustáculo a frente، pode recalcular o caminho do usuário. Como dizia Hugh Herr: "Nenhum indivíduo é incapaz، o que الموجودة é falta de desenvolvimento tecnológico para capacitar e nos tornar iguais".

Neste projeto usaremos a Dragonboard 410c، porque precisamos de um Hardware que tenha capacidade de fazer o processo de imagens em tempo real (sem ter de Competir com outras aplicações como seria no celular) eo mesmo tempo seja de baixo custo.

الخطوة 1: المواد

المواد
المواد

Para este projeto vamos utilizar:

- uma placa Qualcomm Dragonboard 410c ؛

- مكتبة عملية الصور OpenCV (الإصدار 3.1) ؛

- câmera que se comunique com a placa (usaremos na verdade um celular android com o aplicativo IP Webcan) ؛

- تطبيق celular com sistema Android para o aplicativo ؛

الخطوة 2: Instalando OpenCV Na Dragonboard

Instalando OpenCV Na Dragonboard
Instalando OpenCV Na Dragonboard

كوم لينكس تركيب نظام التشغيل ، إجراءات التشغيل الخاصة بالمكتبة ، معالجة الصور - OpenCV - لا يوجد جهاز. Siga كما instruções deste link:

docs.opencv.org/3.0-beta/doc/tutorials/intr…

الخطوة 3: Conectar a Câmera Com a Dragonboard

Conectar a Câmera Com a Dragonboard
Conectar a Câmera Com a Dragonboard

كونيكتار Precisamos a câmera que serão os olhos do deficiente com a placa de desenvolvimento Dragonboard 410c. Existem vários jeitos de fazer isso. A dragonboard bundle

Neste projeto، optamos usar como câmera um Moto G 3ª Geração com o aplicativo IP Webcam (disponível na Google Play) que permite que a imagem seja transferida pelo wifi.

Abaixo um programa que faz aquisição simples da imagem usando a biblioteca opencv. O link passado como parâmetro no construtor do objeto VideoCapture é o IP do celular (indicado no aplicativo) + "/ videofeed". لا توجد صورة ، فوسيتكونترا على أساس الملكية الفكرية تفعل ذلك.

Aquisição pode ser difícil nas versões anteriores a 3.1 da opencv، caso você não tenha conseguido compilar. Se você conectar uma câmera pela entrada de câmeras da dragonboard basta colocar como parâmetro o valor zero ("0") ، que que que você quer procurar a câmera default.

الخطوة 4: برنامج Desenvolver De Imagens Que Toma Decisões

Image
Image
برنامج Desenvolver De Imagens Que Toma Decisões
برنامج Desenvolver De Imagens Que Toma Decisões
برنامج Desenvolver De Imagens Que Toma Decisões
برنامج Desenvolver De Imagens Que Toma Decisões

Há três programas em anexo، o identificadorDeObstáculos.cpp، o MostraContornoWebcam.cpp e o VídeoCadeiraSlavo.cpp (estes dois últimos para teste e entendimento da técnica do software).

شرح: A Idia de Identificação de gentáculo vem daerminação dos contornos mais drásticos nas imagens do vídeo، ou seja، o código identifica mudanças drásticas de cores na imagem e conclui que isso imagens um contorno e port خطوة). حدد مكانًا لكاميرا نا باريجا دو أوسوريو ، ليفمينتي إنلينادا بارا أو تشاو ، مطابق أو أمريكي محدد ، أو تحديد برنامج موجود ، أو ما يسمى بـ (سيجا أوما بيسوا أوما كاديرا بور إكسيمبلو) região especificada (caminho do usuário) (vide imagem do contorno da cadeira - caso o usuário se aproxime da cadeira haverá pixels brancos na região verde que selectinam condição de parada). Dessa forma، sem a adição de filtros ao tipo de chão، para o funcionamento dessa versão simpleificada، é implário um chão razoavelmente homogêneo، de forma que os detalhes do chão não sejam thinkados contornos.

أوبس. يمكنك الحصول على قيمة متفاوتة منخفضة الحد الأدنى للخطوة الأولى للقيمة 0 (mais sensitivo) e 100 (menos sensitivo ao contorno). O valor sugerido é 60 para chão em geral.

الوظيفة: o identificadorDeObstáculos.cpp recebe um vídeo da rede wifi através do sparkfun que deve ser um vídeo de um celular acoplado a barriga do usuário. O código manda condições de parada á um aplicativo de um outro celular que usuário está usando. Idealmente manda-se comandos de voz de parada parada o usuário.

Obs: Altere o código de acordo para especificar de onde os vídeos são recebidos e para Qual android as informações são encaminhadas. Os tipos de alterações são especificadas no próprio código (assim como nos programas de teste) comentados no início do programa.

Para sabre mais sobre bordas de Canny e limiarização، além de outros tópicos de visão computacional، recomenda-se procurar a documentação oficial da OpenCV.

الخطوة 5: Fazer Aplicativo Que Repassa باسم Informações Para O Deficiente Visual

الفقرة reproduzir este projeto é implário criar um banco de dados no site data.sparkfun.com، o processo é muito intuitivo de forma que não será dada uma explicação mais detalhada aqui، mas colocaremos o link do banco convert que criamos.

Assim que a Dragonboard rechece que há um gentáculo a sua frente ela posta em banco de dados construido no data.sparkfun.com essa informação. قم باستشارة إستي بانكو كوم o auxílio da classe okhttp3 للحصول على معلومات como um Json. Então fazemos um parser desse json para encontrarmos o último dado enviado. Com esse dado em mãos conseguimos dizer se há um obláculo no caminho، assim é emitido um sinal de voz para o usuário parar. Se o caminho está livre o aplicativo emite um sinal parosseguir Continamente.

تأكد من وجوده كصفوف e Interfaces utilizadas para o projeto، que são explicadas a seguir:

GetJson: é utilizada para fazer um get no banco de dados do data.sparkfun retornando um arquivo em formato json para a aplicação.

JsonDownloader: é onde geramos uma asynctask para de fato utilizarmos a classe GetJson ، وهو أمر مهم يستخدمه المستخدم في الوصول إلى واجهة مستخدم تستخدمه بشكل صحيح.

النشاط الرئيسي: تطبيق nesta classe a lógica da aplicação que Continamente Consulta o banco de dados، e informa o usuário por meio de um audio se ele precisa para ou pode استمرارية caminhando.

RequestListener: é uma interface utilizada para forçar o MainActivity ter certas características.

SdmSoundPlayer: esta classe é usada para gerenciar os comandos de voz da aplicação ، caso você queira inserir as suas próprias gravações você deve criar uma pasta raw dentro da pasta res e incluir os arquivos de audio lá. Feito isso dentro do método initSoundHash () você deve colocar esses arquivos dentro de mSoundHash que é uma tabela Hash. Para usar este áudio basta usar o método playSound (int key) e passar como a chave escolhida para o sinal de voz.

تحذيرات: essa classe é utilizada para easyar o parser do json retornado pelo banco de dados.

Seguem em anexo também os arquivos de voz utilizados.

O layout da aplicação universia de um único botão que funcionava com o método Quit Implementado na MainActivity، este método simplesmente forçava a aplicação a parar a Consulta no banco de dados.

Qualquer dúvida adicional ou sugestão basta entrar em contato com autor. Sugestões são semper bem-vindas =).

O código não está bem comentado، mas acredito que as explicações acima devem ser suficientes para o entendimento do que está acontecendo.

الخطوة 6: Sugestões De Continuação

Poderiamos Integrar um sistema de localaização. Existe o Qualcomm iZat SDK que luxui um sistema de localização que usa GNSS، acelerômetro، magnetrômetro entre outros، já embutidos no próprio processador Qualcomm Snapdragon (موجودة في maioria dos celulares). لا توجد معلومات ، يجب عليك توثيقها.

Também gostariamos de usar um sensor de distância ultrassonico، porém tivemos problemas quanto a comunicação com a Dragonboard، que poderia ser resolvido com mais calma. حدِّد إيقاعها ، اشترِ في الوقت الذي لا تقدم فيه bibliotecas já مجموعة أدوات مصممة ، يمكنك الحصول عليها من أجهزة الاستشعار.

لا يوجد مطورو موقع كوالكوم موجودون لتعليمهم ، لا يوجد لديك أنبوب.

موصى به: