在使用PyrSegmentation领域分割函数时出现的问题出现Assertionfailed:src_picture->width%2== 0 && src——picture-》height%2== 0…….
还有提示:Thisapplication has requested the Runtime to terminate it in an lead the way. BothPlease contact the application 's support team for more information. (PressRetry to debug the application)
经过多次尝试,发现输入的图像有些可以通过,有些却不能通过。(求高手解释,谢谢)
#include "stdafx.h"
#include"opencv2/opencv.hpp"
#include "legacy.hpp"
int _tmain(int argc, _TCHAR* argv[])
{
cvNamedWindow("src");
cvNamedWindow("PyrSegmentation");
//加载图像
IplImage* src_picture= cvLoadImage("F://Opencv_picture//2.jpg");
IplImage* dst_picture= cvCreateImage(cvGetSize(src_picture), src_picture->depth, src_picture->nChannels);
assert(src_picture->width%2 == 0 && src_picture->height%2 == 0);
//分配内存
CvMemStorage* storage= cvCreateMemStorage(0);
if(!storage)
{
printf("Storage Errors!\n");
}
//分割部件的输出序列的指针
CvSeq* comp= NULL;
//建立金字塔的最大层数
int levels =2;
//建立连接的错误阈值
double threshold1= 150;
//分割簇的错误阈值
double threshold2= 30;
//金字塔图像分割
cvPyrSegmentation(src_picture, dst_picture, storage, &comp, levels, threshold1, threshold2);
cvShowImage("src", src_picture);
cvShowImage("PyrSegmentation", dst_picture);
cvWaitKey(0);
cvReleaseImage(&src_picture);
cvReleaseImage(&dst_picture);
cvDestroyWindow("src");
cvDestroyWindow("PyrSegMentation");
return 0;
}
能通过的结果图
希望大牛们告诉我为什么有些图片(如下面的)不能通过?在这先谢谢啦^_^
这两图就是不能通过