J'ai un problème avec une boucle, lorsque j'entre 0, au lieu de me la fermer, ça exécute (mal) la condition qui correspond à 1
:
while (choix!=0)
{
cout << "Veuillez selectionner l'une des options suivantes :" << endl << endl;
cout << "1 : Flou median" << endl;
cout << "2 : Flou gaussien" << endl;
cout << "3 : Flou simple" << endl;
cout << "4 : Flou bilateral" << endl;
cout << "0 : Retour" << endl;
cin >> choix;
if (choix=1)
{
IplImage *image_median= cvCloneImage(image_nvg);
cvSmooth(image_nvg, image_median, CV_MEDIAN);
cvNamedWindow("Image", CV_WINDOW_AUTOSIZE);
cvShowImage("Image", image);
cvNamedWindow("Median 5x5", CV_WINDOW_AUTOSIZE);
cvShowImage("Median 5x5", image_median);
cvWaitKey(0);
cvDestroyWindow("Image");
cvDestroyWindow("Median 5x5");
cvReleaseImage(&image);
cvReleaseImage(&image_median);
}
else if (choix=2)
{
IplImage *image_gaussian= cvCloneImage(image_nvg);
cvSmooth(image_nvg, image_gaussian, CV_GAUSSIAN);
cvNamedWindow("Image", CV_WINDOW_AUTOSIZE);
cvShowImage("Image", image);
cvNamedWindow("Gaussien", CV_WINDOW_AUTOSIZE);
cvShowImage("Gaussien", image_gaussian);
cvWaitKey(0);
cvDestroyWindow("Image");
cvDestroyWindow("Gaussien");
cvReleaseImage(&image);
cvReleaseImage(&image_gaussian);
}
else if (choix=3)
{
IplImage *image_blur= cvCloneImage(image_nvg);
cvSmooth(image_nvg, image_blur, CV_BLUR);
cvNamedWindow("Image", CV_WINDOW_AUTOSIZE);
cvShowImage("Image", image);
cvNamedWindow("Flou simple", CV_WINDOW_AUTOSIZE);
cvShowImage("Flou simple", image_blur);
cvWaitKey(0);
cvDestroyWindow("Image");
cvDestroyWindow("Flou simple");
cvReleaseImage(&image);
cvReleaseImage(&image_blur);
}
else if (choix=4)
{
IplImage *image_bilateral= cvCloneImage(image_nvg);
cvSmooth(image_nvg, image_bilateral, CV_BILATERAL);
cvNamedWindow("Image", CV_WINDOW_AUTOSIZE);
cvShowImage("Image", image);
cvNamedWindow("Bilateral", CV_WINDOW_AUTOSIZE);
cvShowImage("Bilateral", image_bilateral);
cvWaitKey(0);
cvDestroyWindow("Image");
cvDestroyWindow("Bilateral");
cvReleaseImage(&image);
cvReleaseImage(&image_bilateral);
}
}