es que c'est possible de faire apelle a une fonction matlab sous C++ builder
si c'est possible alors comment le faire ?
es que c'est possible de faire apelle a une fonction matlab sous C++ builder
si c'est possible alors comment le faire ?
Salut,
une solution simple est de créer l'exécutable de ton code matlab et l'appeler par la fonction ShelExecute ou CreatProcess.
l'exécutable peut etre créer par la commande matlab
Code : Sélectionner tout - Visualiser dans une fenêtre à part ShellExecute(Form1->Handle,"Open","C: \\x.exe",NULL,"C:\\",SW_HIDE); // x.exe est l'exécutable de ton m-File x.ton code matlab sera exécuté en tache de fond, l'utilisateur ne voit que l'interface C++ Builder.
Code : Sélectionner tout - Visualiser dans une fenêtre à part mcc -m x //x étant le nom de ton M-File
Mai par exemple si la fonction que je utilise a des paramettre d'entré
et c'est paramettre sons dans un edit dans linterface de C++ builder , alors ça marchera ou pas ?
et l'apelle ce fait de quelle façon ?
La fonction ShellExecute est défini comme suit:
Tu pourrais donc utilisé des paramètres (lpParameters), si MatLab peut lire les arguments d'entrées dans son main.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 HINSTANCE ShellExecute( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd );
tu peux faire l'échange des paramètres entre les deux compilateurs à travers des fichiers texte:
1- Mettre le contenu de ton edit dans un fichier texte.
2- charger le contenu de ton fichier texte à partir de matlab par un simple load.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 //Code C++ Builder TFileStream * file; file = new TFileStream("C:\\TemP.txt",fmCreate); file->Write(Edit1->Text.c_str(),Edit1->Text.Length()); delete file;
puis faire l'appel de l'exécutable à partir de C++ Builder par ShelExecute ou CreatProcess.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 //Code matlab x=load('TemP.txt');
Bonjour tout le monde je suis un débutant en traitement d'image et en c++ builder,mon application est la reconnaissance par l'empreinte digitales
est ce que il est possible de faire appelle aux les fonctions binarisation , squelettesation et filtrage de matlab de c++ builder?
si oui comment je peux faire ça?aidez moi svp.
Partager