Բովանդակություն:

Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: 6 քայլ
Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: 6 քայլ

Video: Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: 6 քայլ

Video: Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: 6 քայլ
Video: 🌟 ENG SUB | Versatile Mage | Full Version EP37-48 | Yuewen Animation 2024, Հունիսի
Anonim
Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android
Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android

ՆԿԱՐԱԳՐՈԹՅՈՆ

Եթե ցանկանում եք կանխել ձեր ինքնավարությունը, եթե այն գտնվում է շրջակա միջավայրի փակ տարածքներում, ինչպես նաև առևտրի կենտրոններից և օդանավակայաններից:

A locomoção em ambientes já mapeados pode ou não ser հաշվի առնել մեր խնդիրը լուծելիս: Ուղղեք հավելվածի տարածում App Store- ի համար, որն անհրաժեշտ է մեր երկրի երրորդ տարածքի համար, ինչպես նաև EUA- ի կամ LowViz Guide- ի համար: Além do limitado número de locais, tal aplicativo não detea possíveis obstáculos e pessoas que possam estar no caminho do usuário. Assim, a missão deste projeto é, através de visão computacional e processamento de imagemo, identificar possíveis obstáculos que possam surgir ao longo do caminho do usuário e poder recalcular or caminho a ser seguido dando Independência e emprirando o usurando. Նախկինում, մեր արտադրանքի մեջ, մենք չենք լրացնում, բաղկացած ենք մի ամբողջ ինտեգրալից, որը մենք կիրառում ենք մեր ենթակետի չափման կամ հեռացման մեր տեղական բույսերի համար, երբ մենք գնումներ ենք կատարում: Comca placa integrada a uma câmera na cintura do usuário, e fum de ouvido, o aplicativo calcula a posição no ambiente e permite o usuário definir para onde quer ir e dá comandos de voz para movimentação. A câmera, quando detea um obstáculo a frente, pode recalcular o caminho do usuário. Հյո Հերրն ասաց.

Օգտագործեք Dragonboard 410c- ի օգտագործումը, որն ապահովում է ապարատային սարքավորումների այն հզորությունը, որը թույլ է տալիս օգտագործել մեր ժամանակի արագությունը (չնայած բջջային հեռախոսին) և արագացնել արագությունը:

Քայլ 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 or aplicativo IP Webcan);

- բջջային օպերացիոն համակարգ Android- ի կամ հավելվածի համար;

Քայլ 2. Տեղադրեք OpenCV Na Dragonboard- ը

Տեղադրեք OpenCV Na Dragonboard
Տեղադրեք OpenCV Na Dragonboard

Տեղադրեք տեղադրման և տեղադրման թույլտվություն, ապահովեք ընթացակարգերի տեղադրում ՝ օգտագործելով պատկերների մշակման գրադարան - OpenCV - ոչ մի սարք: Siga as instruções deste հղում:

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 conectar a câmera que serão os olhos do deficiente com a placa de desenvolvimento Dragonboard 410c. Existem vários jeitos de fazer isso. Dragonboard- ը կարող է մուտք գործել flatcables- ի համար, եթե ցանկանում եք, որ այն համատեղելի լինի, քանի որ մենք օգտագործում ենք որոշ վայրեր, ինչպես նաև Raspberry pi- ով:

Առաջարկվում է օգտագործել օպտիմալ հնարավորություններ ՝ օգտագործելով Moto G 3ª սերվերը ՝ օգտագործելով IP վեբ -տեսախցիկ (որը հասանելի է Google Play- ին), որը թույլ է տալիս պատկերներ փոխանցել ձեր Wi -Fi- ով:

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 կամ IP հասցեով բջջային (նշեք առանց կիրառման) + «/videofeed»: Na imagem acima, você encontra onde está o IP do seu celular.

A 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 a a signific voc signific signific signific. Default default.

Քայլ 4. Desenvolver Software De Processamento De Imagens Que Toma Decisões

Image
Image
Desenvolver Software De Processamento De Imagens Que Toma Decisões- ը
Desenvolver Software De Processamento De Imagens Que Toma Decisões- ը
Desenvolver Software De Processamento De Imagens Que Toma Decisões- ը
Desenvolver Software De Processamento De Imagens Que Toma Decisões- ը

Այս ծրագիրը ծրագրում է em anexo, o identificadorDeObstáculos.cpp, o MostraContornoWebcam.cpp e o VídeoCadeiraSlavo.cpp (անհրաժեշտ է կատարելագործել ծրագրային ապահովման փորձարկումները):

Բացատրություն. Գաղափար ՝ որոշող միջոցներ, որոնք որոշում են, թե ինչպես կարող են օգտագործվել մեր պատկերացումները, որոնք կարող են օգտագործվել որպես մերձեցում, կամ մերձեցում, ինչպես նաև միջերկրածովյան պատկերներ և եզրակացություններ, որոնք ենթադրում են, որ մենք օգտագործում ենք մեր պատկերացումները, որոնք օգտագործվում են որպես նպատակային (քայլ): Estando a câmera na barriga do usuário, levemente inclinada para o chão, conforme o usuário se locomove, o programa identifica a existência de um objeto (seja uma pessoa ou uma cadeira por ex ex) e manda o sinalo parada caso o objet região especificada (caminho do usuário) (տես պատկերներ, որոնք կարող են կիրառել դա - հնարավոր է օգտագործել մոտավորապես այն ժամանակ, երբ կարող ենք օգտագործել pixel brancos na região verde que determinam condição de parada): Dessa forma, sem a adição de filtros ao tipo de chão, para o funcionamento dessa versão simpleificada, անհրաժեշտության դեպքում մենք պետք է իմանանք, թե ինչպիսի՞ն է այն, ինչ անհրաժեշտ է, քանի որ դա նշանակում է, որ դա նշանակում է, որ դա նշանակում է, որ դրանք հաշվի են առնվում:

Դիտողություն é possível ajustar a variável lowThreshold do código para um valor de 0 (mais sensitivo) e 100 (menos sensitivo ao contorno). O valor sugerido é 60 para chão em geral.

Գործառույթներ. O código manda condições de parada á um aplicativo de um outro բջջային կապի օգտագործումը, որը մենք օգտագործում ենք: 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) մեկնաբանություններ inacio do programa:

Para saber mais sobre bordas de Canny e limiarização, além de outros tópicos de visão computacional, խորհուրդ է տալիս ձեռք բերել փաստաթղթեր OpenCV- ի կողմից:

Քայլ 5. Fazer Aplicativo Que Repassa As Informações Para O Deficiente Visual

Կրկնօրինակելու համար անհրաժեշտ է criar կամ banco de dados կայքի տվյալներ չունեն:

Assim que a Dragonboard- ը կարող է վերականգնել այն, երբ մենք կարող ենք խոչընդոտել մեր պահանջներին, քանի որ մենք կարող ենք կառուցել մեր տվյալները ՝ առանց data.sparkfun.com կայքի տեղեկատվության: Opplicativo faz uma Consulta a este banco com o auxílio da classe okhttp3 obtendo as informações 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 obstáculo no caminho, assim é emitido um sinal de voz para o usuário parar. Se o caminho está livre o aplicativo emite um sinal para prosseguir Continentale- ի համար:

Ընտրեք դրանք որպես դասեր և ինտերֆեյսեր, որոնք օգտագործվում են նախագծման համար, որոնք բացատրում են հետևյալը.

GetJson: Եթե դուք օգտագործում եք տվյալների բազա, դա ձեզ չի հետաքրքրում:

JsonDownloader: եթե դուք օգտագործում եք մի քանի հիմնական գործառույթներ, օգտագործելով GetJson- ը, ապա այն կարող է օգտագործվել որպես միջերես, որի միջոցով կարող եք օգտագործել տարբեր թելեր և տարբերակներ:

MainActivity: nesta classe implementamos a lógica da aplicação que շարունակական խորհրդատվություն ձեր բանկերի կողմից, ինչպես նաև տեղեկատվություն օգտագործելու կամ մեր ձայնի միջոցով մեր ձայնը կարող է ճշգրիտ լինել կամ շարունակելու համար:

RequestListener: կամ օգտագործեք հիմնական ինտերֆեյսը հիմնական գործունեության հիմնական բնութագրերի համար:

SdmSoundPlayer: esta classe and use for 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 parâmetro a chave escolhida para o sinal de voz.

Arnգուշացումներ. Essa classe and use use for lehtid o parser do json retornado pelo banco de dados.

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

O դասավորությունը կիրառվում է այն գործառույթից, որը թույլ է տալիս դադարեցնել MainActivity- ի իրականացումը, այս մեթոդը պետք է պարզեցնի գործածումը և կիրառումը և խորհրդատվությունը ոչ մի բանկի կողմից:

Qualquer dúvida adicional կամ sugestão basta entrar em contato com o autor: Առաջարկում է s semo sempre bem-vindas =):

O cdigdigo 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. Օգտագործեք Qualcomm iZat SDK- ն, որը կարող է օգտագործվել տեղական GNSS համակարգերի, արագաչափերի, մագնիսական մուտքերի միջոցով, ինչպես նաև Qualcomm Snapdragon- ի հիմնական պրոցեսորի միջոցով (ներկայացնում ենք հիմնական բջիջները): No entanto, havia pouca documentação e needitava de testes mais demorados.

Օգտագործելով um սենսորը հեռավոր ուլտրաձայնային հեռավորության վրա, մենք կարող ենք օգտագործել Dragonboard- ի կոմունիկացիոն խնդիրները, ինչպես նաև որոշումներ կայացնելիս այն կարող է լուծվել: Բացի այդ, ձեռք բերեք որպես bibliotecas jes presentes no kit de desvolvimento, elas possuem diversos exemplos para cada tipo de sensor.

Կայքերի մշակողներ չկան

Խորհուրդ ենք տալիս: