J'essaie de redimensionner une image, puis de l'afficher pour vérifier si elle a été redimensionnée ou non.Redimensionnement et affichage de l'image
#include"cv.h"
#include"highgui.h"
#include<iostream>
using namespace cv;
int main()
{
IplImage* ipl = cvLoadImage("test1.jpg");
cvShowImage("original:",ipl);
CvSize size = cvSize(128,128);
IplImage* tmpsize=cvCreateImage(size,8,0);
cvResize(ipl,tmpsize,CV_INTER_LINEAR);
cvShowImage("new",tmpsize);
waitKey(0);
return 0;
}
Mais il produit une erreur OpenCV Erreur: Assertion a échoué == dst.type < >> dans le fichier fonction inconnue c: \ esclave \ winInstallerMegaPack \ src \ OpenCV \ modules \ imgproc \ src \ imgwarp. cpp ligne. Veuillez indiquer ce que je fais mal et suggérer un moyen de le surmonter. D'autre part, un autre code fonctionne bien.
IplImage *source = cvLoadImage("test1.jpg");
// Here we retrieve a percentage value to a integer
int percent =50;
// declare a destination IplImage object with correct size, depth and channels
IplImage *destination = cvCreateImage
(cvSize((int)((source->width*percent)/100) , (int)((source->height*percent)/100)),
source->depth, source->nChannels);
//use cvResize to resize source to a destination image
cvResize(source, destination);
// save image with a name supplied with a second argument
cvShowImage("new:",destination);
waitKey(0);
return 0;
Veuillez expliquer.
Le problème est que vous essayez de stocker le résultat de l'opération dans une image qui n'est pas compatible avec l'original: les deux images doivent être du même type (nchannels et profondeur). – karlphillip
@ karlphillip-j'ai compris que les deux images ont une certaine différence, mais je n'étais pas en mesure de comprendre la différence.Merci. –