我正在使用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
知道我做错了什么吗?感谢。