Iphone OpenCV::dft()iOS断言错误

Iphone OpenCV::dft()iOS断言错误,iphone,xcode,opencv,fft,dft,Iphone,Xcode,Opencv,Fft,Dft,我需要一些坏的帮助。我发誓我已经找了一个星期的答案,但一直没有成功,所以我爬来寻求帮助 我的目标很简单。我正在尝试使用Xcode中的OpenCV库。我正在讨论令人沮丧的问题。我使用OpenCV库可以很好地处理cvCanney和cvAdaptive变换,但我无法让它执行cv::dft。我首先尝试了以下几点: cv::Mat tempMat = [self.imageView.image CVGrayscaleMat]; cv::dft(tempMat, output2); 这将导致错误,因为它

我需要一些坏的帮助。我发誓我已经找了一个星期的答案,但一直没有成功,所以我爬来寻求帮助

我的目标很简单。我正在尝试使用Xcode中的OpenCV库。我正在讨论令人沮丧的问题。我使用OpenCV库可以很好地处理cvCanney和cvAdaptive变换,但我无法让它执行cv::dft。我首先尝试了以下几点:

cv::Mat tempMat = [self.imageView.image CVGrayscaleMat];
cv::dft(tempMat, output2); 
这将导致错误,因为它的格式不正确。于是我试着:

cv::Mat tempMat = [self.imageView.image CVMat];
cv::cvtColor(tempMat, output2, CV_32FC1); 
cv::dft(output2, output3); 
我得到了同样的错误。具体而言,错误内容如下:

在dft中,断言失败类型==CV|32FC1 |类型==CV|32FC2 |类型==CV|64FC1 |类型==CV|64FC2

作为对原始问题的更新,我一直在尝试使用cv::type确定类型,它返回type=24。谁能给我解释一下如何破译这种类型的意思吗?是不是打错了?最新尝试:

cv::Mat tempMat = [self.imageView.image CVMat];
cv::Mat output2(tempMat.rows, tempMat.cols, CV_32FC1); 


cv::cvtColor(tempMat, tempMat, CV_32FC1); 


int type = tempMat.type();
int type2 = output2.type(); 
当我运行这个程序时,tempMat的类型为24,output2的类型为5。如果我尝试添加以下内容:

cv::cvtColor(output2, output2, CV_32FC1);
我得到错误:在cvtColor中断言失败scn==3 | | scn==4

有什么想法吗?即使这是一个RTFM的建议,我会采取任何在这一点上。请帮忙


多谢各位

我认为这是一个渠道类型和数量可变的问题

cv::Mat tempMat = [self.imageView.image CVMat];
cv::Mat output2;
cv::cvtColor(tempMat,output2, CV_BGR2GRAY);
output2.convertTo(output2, CV_32FC1);
cv::dft(output2, output2); 
output2.convertTo(image, CV_8UC1);
请让我知道,如果这是工作,我有一个类似的代码在我的项目,并试图从中得出一个答案;因此,它可能包含一些错误。我们可以从这里以交互方式完成