Ir ao conteúdo
  • Cadastre-se

dieisondr

Membro Júnior
  • Total de itens

    3
  • Cadastrado em

  • Última visita

  • Qualificações

    0%

Reputação

0

Informações gerais

  • Cidade e Estado
    Santa Catarian/SC
  • Sexo
    Masculino
  1. Desisti de fazer a migração. Resolvi criar o arquivo libopencv_java349.so usando a solução do link https://libguides.lib.msu.edu/raspberry_pi/install_opencv. Adicionando o programa "ant --classic" que é necessário para compilar para java que é parte do "snapd" e desativando todas as bibliotecas de programação python e seguindo o descrito neste link: https://delabassee.com/OpenCVJava/
  2. Preciso de ajuda com o código de comparação de imagens. Estou usando o OpenCV 3.4.9 mas quero atualizar para o OpenCV 4.4.0 e não sei o que devo mudar no código. Somente uma classe está com problema que é esta: public class Match349 { private MatOfDMatch goodMatches; private Scalar RED; private Scalar GREEN; private FeatureDetector detector; private DescriptorExtractor descriptor; private DescriptorMatcher matcher; public Match349() { try { System.loadLibrary(Core.NATIVE_LIBRARY_NAME); goodMatches = new MatOfDMatch(); RED = new Scalar(255, 0, 0); GREEN = new Scalar(0, 255, 0); detector = FeatureDetector.create(FeatureDetector.ORB); descriptor = DescriptorExtractor.create(DescriptorExtractor.ORB); matcher = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE_HAMMING); } catch (java.lang.UnsatisfiedLinkError | java.lang.NoClassDefFoundError e) { Bibliotecas.Iniciar(null); } } public boolean Resultado() { return goodMatches.rows() > 25; } public Mat Teste(Mat img1, Mat img2) throws java.lang.UnsatisfiedLinkError, java.lang.NoClassDefFoundError { // First photo final Mat descriptors1 = new Mat(); final MatOfKeyPoint keypoints1 = new MatOfKeyPoint(); detector.detect(img1, keypoints1); descriptor.compute(img1, keypoints1, descriptors1); // Second photo final Mat descriptors2 = new Mat(); final MatOfKeyPoint keypoints2 = new MatOfKeyPoint(); detector.detect(img2, keypoints2); descriptor.compute(img2, keypoints2, descriptors2); // Matching final MatOfDMatch matches = new MatOfDMatch(); matcher.match(descriptors1, descriptors2, matches); // Linking Double max_dist = 0.0; Double min_dist = 100.0; final java.util.List<DMatch> matchesList = matches.toList(); for (int i = 0; i < matchesList.size(); i++) { Double dist = (double) matchesList.get(i).distance; if (dist < min_dist) { min_dist = dist; } if (dist > max_dist) { max_dist = dist; } } final java.util.LinkedList<DMatch> good_matches = new java.util.LinkedList<>(); for (int i = 0; i < matchesList.size(); i++) { if (matchesList.get(i).distance <= (1.5 * min_dist)) { good_matches.addLast(matchesList.get(i)); } } // Printing goodMatches.fromList(good_matches); final Mat outputImg = new Mat(); final MatOfByte drawnMatches = new MatOfByte(); Features2d.drawMatches(img1, keypoints1, img2, keypoints2, goodMatches, outputImg, GREEN, RED, drawnMatches, Features2d.DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS); return outputImg; } } Esta classe funciona corretamente no OpenCV 3.4.9 mas tem comandos que mudaram no OpenCV 4 e eu não sei como alterar para funcionar na nova versão. Já tenho as bibliotecas do OpenCV 4.4 que é opencv_java440.dll, opencv-440.jar, e libopencv_java440.so. Com isso posso fazer rodar em Windows e Linux mas só se a classe acima for alterada já que não existe no OpenCV 4 os comandos FeatureDetector e DescriptorExtractor.
  3. Minha dúvida é a seguinte: Quando vou na universidade tem uma rede interna e quando conecto nesta rede imediatamente abre o navegador em uma determinada pagina web, mas como esste servidor está mal configurado ele bloqueia o acesso ao link que ele mesmo envia. O que eu quero saber é como faço para enviar estes links para todos os computadores conectados em uma rede lan e somente para os que se conectam há esta rede não para quem já esta conectado? Conheço o protocolo Wake-on-LAN, mas não sei se ele pode fazer isso. Tenho um servidor linux com um site local nele e gostaria de utiliazar esta função porque parece não passar pela porta WAN.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Como se tornar um desenvolvedor full-stack

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!