我已将OpenCV
框架添加到我的项目中,以获得UIImage
的优势。
我已设法使框架工作,但转换后的图像旋转。我怎么能解决这个问题?
// MARK: START CAMERA
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
rowImage.image = pickedImage
ConvertImage(rowImage.image!)
}
dismissViewControllerAnimated(true, completion: nil)
}
//MARK: CONVERT IMAGE
func ConvertImage(image: UIImage) {
let MyImage = image
let egeimage = EfectOpenCV.DetectEdgeWithImage(MyImage)
CVimage.image = egeimage
}
OPENCV:
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "openCV_test-Bridging-Header.h"
#import <opencv2/opencv.hpp>
#import <opencv2/highgui/ios.h>
@implementation EfectOpenCV : NSObject
+(UIImage *)DetectEdgeWithImage:(UIImage *)image{
//UIImage to cv::Mat
cv::Mat cvMat;
UIImageToMat(image,cvMat);
cv::Mat gray;
cv::cvtColor(cvMat, gray, CV_BGR2GRAY);
cv::Mat edge;
cv::Canny(gray, edge, 20, 80);
UIImage *edgeImg = MatToUIImage(edge);
return edgeImg;
}
@end