je me permet de poster ce message car je rencontres une grosse difficulté dans un de mes projets.
Je vais tenter d’être le plus clair possible pour vous expliquer de quoi il retourne.
Tout d'abord je dispose d'une caméra, on peut récupérer la vue de cette camera sur une page Internet. Dans notre code java nous l'avons donc associé à un webview. Le but est de retrouver le même point sur deux images consécutives de la camera.
L'utilisateur peut donc cliquer sur un bouton Follow, ce qui va afficher un carré sur la vue de la webcam, puis en appuyant une seconde fois, cela va lancer notre algorithme de recherche ( qui va rechercher dans les deux images des taux de couleurs similaires ).
C'est ici que repose le problème en effet, sans thread, le bouton follow va être bloqué car l'algorithme va tourner en boucle et cela va empecher le reste du programme de tourner.
Voila donc le moment de création du thread, on execute donc l'algorithme dans ce dernier, et le problème rencontré est que nous avons le warning :
Ce message d'erreur apparait quand la vue de la webcam n'est pas activé et que l'algorithme boucle sur la même page ( page not available ).
Mais lorsqu'on active la webcam, on va obtenir l'erreur : fatal signal 11 (sigsegv) at 0x00000000 (code=1) thread.
Avez vous une idée de comment resoudre ce probleme, de comment utiliser le webview dans un autre thread ?
Voici le code appelant le thread :
public void onClick(View v) {
if(!(clicked)) {
square.initCoord();
square.setVisibility(square.VISIBLE);
clicked = true;
AlertDialog alertDialog = new AlertDialog.Builder(source.main.WebCam.this).create();
alertDialog.setTitle("Select an object to follow");
alertDialog.setMessage("Please place the red square " +
"on the object you want the robot to follow");
alertDialog.show();
} else {
square.setVisibility(square.INVISIBLE);
followButton.setVisibility(followButton.INVISIBLE);
StopFollowButton.setVisibility(StopFollowButton.VISIBLE);
clicked = false;
webView_.getContext();
Point loc = square.getSquareLocation();
System.out.println(loc.toString());
ArrayList<Couleur> colors=new ArrayList<Couleur>();
filtre.setBg(filtre.pictureDrawable2Bitmap(new PictureDrawable(webView_.capturePicture())));
search = new SearchThread(filtre, loc, colors, square);
search.start();
recup = new RecupThread(webView_,filtre, mutex);
recup.start();
}
}
});
C'est donc searchThread qui applique l'algorithme, on a même essayé de créer un seconde thread (recup thread ) pour recuperer le webview mais même soucis ...
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.