Bonjour à tous.
Je suis en train de faire un petit projet sur iPhone, et j'ai besoin d'utiliser le framework openCV pour faire des manipulations d'images.
Le soucis, c'est que le code lié au framework openCV doit être écrit en C++.
Etant un grand débutant dans le domaine du dev iPhone, j'ai trouvé qu'il fallait mettre ces lignes autour du code écrit en C++ pour qu'il soit compris.
Mais apparemment, et de manière logique si on crée un object en ObjC, on ne peut pas s'en servir dans le code en C++ situé juste après :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #ifdef __cplusplus #endif
Exemple:
Ca ne fonctionne pas, je n'ai pas d'erreur dans le code (pas de texte souligné, pas d'erreur de compilation) mais ça ne donne pas l'effet voulu, sachant qu'il s'agit d'un copier coller d'un tuto (en pdf, donc difficilement joignable),
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 NSString* filename = [[NSBundle mainBundle] pathForResource:@"openCV" ofType:@"jpg"]; UIImage *image = [UIImage imageWithContentsOfFile:filename]; if(image != nil) { #ifdef __cplusplus cv::Mat m, gray; UIImageToMat(image, m); cv::cvtColor(m, gray, CV_RGBA2GRAY); cv::GaussianBlur(gray, gray, cv::Size(5, 5), 1.2, 1.2); cv::Canny(gray, gray, 0, 50); m = cv::Scalar::all(255); m.setTo(cv::Scalar(0, 128, 255, 255), gray); imageView.contentMode = UIViewContentModeScaleAspectFit; imageView.image = MatToUIImage(m); [COLOR="rgb(139, 0, 0)"]#endif[/COLOR] }
En fait, le tuto demande de copier/coller le if tel que je l'ai mis ici, sans les #ifdef et #endif. Mais sans ces lignes, le code en C++ c'est simplement pas reconnu.
Je pige pas trop ce qu'il se passe en fait, quelqu'un peut m'éclairer ?
Partager