Tag: opencv

无法在QT项目中添加iOS OpenCV框架

我试图将可用于iOS的OpenCV框架绑定到Qt 5.2 iOS项目。 迄今没有任何有用的结果。 在没有任何OpenCV框架绑定的情况下创buildQt项目,然后生成一个包含震动的Xcode项目(使用命令“qmake -spec macx-xcode qtopencv.pro”),然后手动将iOS OpenCV框架添加到Xcode项目中。 然后由此产生的应用程序与OpenCV支持完美运行。 但是,如果我想要添加一个文件到项目或者影响项目结构的东西,那么我需要使用qmake并且每次手动添加OpenCV框架。 所以我需要一种方法来告诉QT项目使用已经存在的OpenCV iOS框架并自动使用它。 在对qmake进行一些研究之后,我发现可以添加Mac / iOS框架。 在QT Pro文件中使用以下命令,框架文件似乎被添加到项目中(OpenCV框架似乎正确添加到项目中,因为它可以在qmake生成的Xcode项目的框架部分中find): QMAKE_LFlags += -F"/Users/divdurch0/Desktop/qtopencv/OpenCV.framework" LIBS += -framework "/Users/divdurch0/Desktop/qtopencv/OpenCV.framework" 但是现在这个项目并没有编译“ld:framework not found -L / Users / divdurch0 / Qt5.2.1 / ios / plugins / platforms”。 提到的path不是一个框架,它是一个库,如果我不添加上面提到的行,正确地find作为库 – 所以它不应该是问题。 如果我把网上的几个答案中所描述的第二行更改为 LIBS += -framework OpenCV 它说没有find框架OpenCV,框架文件没有添加到qmake生成的Xcode项目。 我希望有人知道如何做到这一点。 必须有一种方法,也许我正在使用错误的语法。 或者将OpenCV框架添加到iOS QT项目的任何其他方式都将有所帮助。 谢谢。

OpenCV imencode PGM不编码正确的格式

我试图编码一个Mat CV_32FC1图像通过互联网与base64发送,该过程的工作,但OpenCV编码格式错误。 例: vector<unsigned char> buffer; vector<int> compression_params; compression_params.push_back(CV_IMWRITE_PXM_BINARY); compression_params.push_back(0); cv::imencode(".pgm", desc, buffer, compression_params); printf("%s", &buffer[0]); 这将生成以下输出: P2 64 15 255 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 etc.. 根据压缩参数和第一个参数(P2),它不应该被编码为二进制格式,它应该是ASCII。 (资源) 本身这不是一个问题,但是当我改变compression_params.push_back(0) compression_params.push_back(1)我得到这个输出(没有图像数据): P5 64 15 […]

OpenCV错误 – Core.hpp头必须编译为C ++

我已经尝试过Core.hpp, Base.hpp header must be compiled as C++错误。 我把BITCODE设置为NO 。 #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/highgui/highgui.hpp> @interface OpenCV : NSObject /// Converts a full color image to grayscale image with using OpenCV. + (nonnull UIImage *)cvtColorBGR2GRAY:(nonnull UIImage *)image; + (cv::Mat)cvMatFromAdjustedUIImage:(UIImage *)image; + (cv::Mat)cvMatFromUIImage:(UIImage *)image; + (cv::Mat)cvMatGrayFromUIImage:(UIImage *)image; + (cv::Mat)cvMatGrayFromAdjustedUIImage:(UIImage *)image; @end 在我的OpenCVSample.mm我在头文件中包含了#import "OpenCV.h […]

OpenCV级联分类器加载错误iOS

目前我正在尝试使用OpenCV级联分类器来检测iOS应用中的人脸。 问题是,当我去加载分类器,它失败,因为“haarcascade_frontalface_alt.xml”的path名是不正确的。 这是我的代码: cv::String face_cascade_name = "haarcascade_frontalface_alt.xml"; void detectFaces(cv :: Mat frame){ cv::CascadeClassifier face_cascade; if (face_cascade.load(face_cascade_name)){ printf("Load complete"); }else{ printf("Load error"); } std::vector<cv::Rect> faces; std::vector<cv::Mat> rgbChannels(3); cv::split(frame, rgbChannels); // Making the frame gray scale cv::Mat frame_gray = rgbChannels[2]; face_cascade.detectMultiScale(frame_gray, faces, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE|CV_HAAR_FIND_BIGGEST_OBJECT, cv::Size(150,150)); if(faces.size()> 0){ printf("TRUE"); } } 由于这是一个iOS项目,我不知道如何在框架中find所需的XML文件的path。 将Cascade Classifier加载到iOS项目中的正确方法是什么? 或者,包含正确的文件名以便正确地看到它的正确方法是什么? 任何帮助,将不胜感激。

编译OpenCV for iOS失败

有没有人知道为什么会出现这个错误? 我运行$ python platforms/ios/build_framework.py ios来创build适用于iOS的OpenCV framework 。 但安装失败。 平台信息:今天OpenCV最新提交,CMake 2.8.12.2,XCode 5.1.1,Mac OSX 10.9.2 我遵循本教程: 安装Opencv For iOS ** INSTALL FAILED ** The following build commands failed: Libtool ios/build/iPhoneSimulator-x86_64/modules/world/UninstalledProducts/libopencv_world.a normal x86_64 (1 failure) Traceback (most recent call last): File "platforms/ios/build_framework.py", line 112, in <module> build_framework(os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), "../..")), os.path.abspath(sys.argv[1])) File "platforms/ios/build_framework.py", line 104, in build_framework put_framework_together(srcroot, dstroot) File […]

如何按位置sorting矩形数组?

我刚刚意识到,如果我只在包含文本的区域执行OCR处理,速度会更快。 所以我所做的是检测图像中的文本区域,然后在其中的每一个上执行OCR处理。 这是使用OpenCV(我用它在图像上绘制矩形)“检测文本区域”步骤的结果: 唯一的问题依然是我无法按照它们在原始图像上出现的顺序排列文本结果。 在这种情况下,应该是: circle oval triangle square trapezium diamond rhombus parallelogram rectangle pentagon hexagon heptagon octagon nonagon decagon 其他一些情况: 基本上任何其他图像上都有文字。 所以我想sorting矩形的数组(原点,宽度和高度),然后重新排列与他们关联的文本。 更多信息 我不知道是否有必要,但这里是我使用的代码: 我如何检测文本区域 +(NSMutableArray*) detectLetters:(UIImage*) image { cv::Mat img; UIImageToMat(image, img); if (img.channels()!=1) { NSLog(@"NOT A GRAYSCALE IMAGE! CONVERTING TO GRAYSCALE."); cv::cvtColor(img, img, CV_BGR2GRAY); } //The array of text regions (rectangle) NSMutableArray* […]

openCV cvContourArea

我试图使用cvFindContours,这绝对是似乎要走的路。 我遇到了一个最大的问题。 有一个函数调用cvContourArea,它假设以序列的forms获取轮廓的区域。 我遇到了麻烦。 int conNum = cvFindContours(outerbox, storage, &contours, sizeof(CvContour),CV_RETR_LIST,CV_CHAIN_APPROX_NONE,cvPoint(0, 0)); CvSeq* current_contour = contours; double largestArea = 0; CvSeq* largest_contour = NULL; while (current_contour != NULL){ double area = fabs(cvContourArea(&storage,CV_WHOLE_SEQ, false)); if(area > largestArea){ largestArea = area; largest_contour = current_contour; } current_contour = current_contour->h_next; } 我尝试用轮廓replace存储器(在cvContourArea中),但不pipe怎样,同样的错误一直出现: OpenCV Error: Bad argument (Input array is […]

OpenCVvideo处理教程问题

我遵循OpenCV网站上的iOSvideo处理教程,并设法编译并安装在设备上。 但是,当我点击“开始”button,没有看到发生。 显然,我的- (void)processImage:(Mat&)imagecallback都不会被调用。 你能给我一些提示,可能是什么问题? 我检查了一些东西: actionStart被调用,并且两个日志行打印YES self对象在分配给self.videoCamera.delegate时有效 imageView在屏幕上有效且可见 videoCamera在start方法被调用时被初始化 我使用iPhone 3GS进行testing。 这里是我的ViewController.h的完整源码: #import <UIKit/UIKit.h> #import <opencv2/highgui/cap_ios.h> @interface ViewController : UIViewController <CvVideoCameraDelegate> { IBOutlet UIImageView* imageView; IBOutlet UIButton* button; CvVideoCamera* videoCamera; } – (IBAction)actionStart:(id)sender; @property (nonatomic, strong) CvVideoCamera* videoCamera; @end 和ViewController.mm: @implementation ViewController @synthesize videoCamera; – (void)viewDidLoad { [super viewDidLoad]; self.videoCamera = [[CvVideoCamera alloc] initWithParentView:imageView]; […]

OpenCV UIImageToMat链接器在xcode中失败

我在xcode上写了一些OpenCV代码,但是当我编译时,有两种方法得到链接器失败: UIImageToMat和MatToUIImage 我正在使用opencv2.framework(从opencv网站,版本3.1为iOS),它工作正常,然后我使用cocoapods和集成opencv 3.1.1在我的项目和所有的代码工作相同,除了这两个function我连接器失败。 我不明白为什么他们不工作,当我删除#include "opencv2/imgcodecs/ios.h"它说函数不存在(而不是链接器失败)。 有谁知道如何解决这个问题? 谢谢

iOS OpenCV为其他面部情绪hacarcascade

我一直在尝试使用OpenCV iOS示例来实现面部情感识别。 我从下面的链接中获得了OpenCV示例iOS项目“openCViOSFaceTrackingTutorial”。 https://github.com/egeorgiou/openCViOSFaceTrackingTutorial/tree/master/openCViOSFaceTrackingTutorial 这个示例项目使用“人脸检测”,它工作正常。 它使用'haarcascade_frontalface_alt2.xml'训练的模型。 我想要使​​用同样的项目,但有其他面部情绪,如悲伤,惊喜hacarcascade。 我一直在寻找如何训练喜欢悲伤,惊喜等情绪,但无法find任何线索。 有人可以告诉我,如何训练喜欢悲伤,惊喜等情感hacarcascade在这个示例OpenCV iOS项目中使用? 或者会有为这个iOS示例使用的悲观,惊喜等情感的现成hacarcascade。 谢谢