使用快速包装器在OpenCV中输出cornerHarris()只是有色噪声

时间:2017-04-15 14:05:06

标签: c++ swift opencv

我正在使用OpenCV进行iOS项目,从相机拍摄图像并对其进行Harris角点检测。我正在从UIImage转换到Mat然后运行cornerHarris openCV函数。

#import <opencv2/opencv.hpp>
#import "OpenCVWrapper.h"
#import <opencv2/imgcodecs/ios.h>

using namespace std;

@implementation OpenCVWrapper

- (UIImage *) detectCornersIn:(UIImage *)anImage {

// Convert image to Mat and to grayscale
cv::Mat imgMat, imgMatGray, imgMatDst;
UIImageToMat(anImage, imgMat);
cv::cvtColor(imgMat, imgMatGray, CV_BGR2GRAY);

// Perform Harris Corner Detection
imgMatDst.zeros(imgMatGray.size(), CV_32FC1);
cornerHarris(imgMatGray, imgMatDst, 2, 3, 0.04);

return MatToUIImage(imgMatDst);
}

@end

所有输入似乎都具有正确的属性,但函数的输出图像似乎只是随机噪声(下图): conerHarris output

知道我做错了什么吗?感谢。

0 个答案:

没有答案