Tag: opencv

使用tesseract识别牌照

我正在开发一个可以识别车牌(ANPR)的应用程序。 第一步是从图像中提取牌照。 我使用OpenCV来检测基于宽度/高度比的板,这个工作非常好: 但是,正如你所看到的,OCR结果非常糟糕。 我在Objective C (iOS)环境中使用tesseract 。 这些是我启动引擎时的initvariables: // init the tesseract engine. tesseract = new tesseract::TessBaseAPI(); int initRet=tesseract->Init([dataPath cStringUsingEncoding:NSUTF8StringEncoding], [language UTF8String]); tesseract->SetVariable("tessedit_char_whitelist", "BCDFGHJKLMNPQRSTVWXYZ0123456789-"); tesseract->SetVariable("language_model_penalty_non_freq_dict_word", "1"); tesseract->SetVariable("language_model_penalty_non_dict_word ", "1"); tesseract->SetVariable("load_system_dawg", "0"); 我怎样才能改善结果? 我需要让OpenCV做更多的image processing吗? 还是有什么我可以改善tesseract?

OpenCV错误:在iOS上断言失败

我试图find一个图像中最大的斑点,并根据链接的plist文件进行分类。 我正在使用最新版本的OpenCV for iOS,并且已经查看了几个相关的问题,但目前为止还没有涉及到iOS。 我得到这个错误: OpenCV错误:断言失败(types== src2.type()&& src1.cols == src2.cols &&(type == CV_32F || type == CV_8U))in batchDistance,file / Users / admin / Desktop / OpenCV / modules / core / src / stat.cpp,第4000行 libc ++ abi.dylib:以typescv :: Exception的未捕获exception终止:/Users/admin/Desktop/OpenCV/modules/core/src/stat.cpp:4000:error:(-215)type == src2。在函数batchDistance中键入()&& src1.cols == src2.cols &&(type == CV_32F || type == CV_8U) 当我运行这个: – (IBAction)CaptureButton:(id)sender { […]

边界检测纸张opencv

我在openCV中是新的,我已经检测到纸张的边缘,但是在边缘画线之后,我的结果图像会模糊,如何在纸张的边缘上绘制线条,这样我的图像质量不受影响。 我在想什么 我的代码如下。 非常感谢。 -(void)forOpenCV { if( imageView.image != nil ) { cv::Mat greyMat=[self cvMatFromUIImage:imageView.image]; vector<vector<cv::Point> > squares; cv::Mat img= [self debugSquares: squares: greyMat ]; imageView.image =[self UIImageFromCVMat: img]; } } – (cv::Mat) debugSquares: (std::vector<std::vector<cv::Point> >) squares : (cv::Mat &)image { NSLog(@"%lu",squares.size()); // blur will enhance edge detection Mat blurred(image); medianBlur(image, blurred, 9); Mat gray0(image.size(), […]

如何解决与OpenCV的iOS链接错误

我试图添加最新版本的openCV到我的iOS项目,但是当我编译时,我得到了大约30个链接错误: 例: Undefined symbols for architecture i386: "cv::merge(std::vector<cv::Mat, std::allocator<cv::Mat> > const&, cv::_OutputArray const&)", referenced from: 我在一个带有简单video捕捉的虚拟应用程序中添加了OpenCV框架以及所有其他必需的框架 (按照链接中的教程),并且完美地工作。 我不确定为什么它能在一个地方如此顺利地工作,而不是在另一个地方。 我唯一的想法是,我是编译两个应用程序之间的不同架构,但我认为我都瞄准了armv7和armv7s。 任何想法可能会导致链接错误?

从相机中dynamic检测不同形状(圆形,方形和矩形)?

我想创build一个应用程序来检测对象的形状(圆形,正方形和矩形只有几何形状),不应该使用标记较less或基于边缘的方式来检测扩增中的形状。 我已经使用了以下的东西,像通过metaio sdk中已经存在的教程的过程 1)Metaio: http ://dev.metaio.com/sdk/tutorials/hello-world/ 2)OpenCV: http : //docs.opencv.org/doc/tutorials/imgproc/imgtrans/canny_detector/canny_detector.html#canny-detector 这些是我试图实现的东西。 几何形状:1)实时圈可以是任何圆形物体 – > 2)实时广场可以是任何方形物体 – > 3)实时矩形可以是任何矩形对象 – > 我怎样才能实现这种增强的情况。 提前致谢

如何直接旋转iOS 4中的CVImageBuffer图像而不转换为UIImage?

我在iPhone上使用OpenCV 2.2来检测脸部。 我使用IOS 4的AVCaptureSession来访问相机stream,如下面的代码所示。 我的挑战是video帧以CVBufferRef(指向CVImageBuffer的指针)对象的forms出现,它们以480px宽,300px高的风景来定位。 如果你侧身拿着手机,这很好,但是当手机保持直立状态时,我想顺时针旋转这些框架90度,这样OpenCV就可以正确地find脸部。 我可以将CVBufferRef转换为CGImage,然后转换为UIImage,然后像这个人一样旋转 : 旋转从video帧中获取的CGImage 但是,这浪费了很多的CPU。 我正在寻找更快的方式来旋转图像进来,理想情况下使用GPU来做这个处理,如果可能的话。 有任何想法吗? 伊恩 代码示例: -(void) startCameraCapture { // Start up the face detector faceDetector = [[FaceDetector alloc] initWithCascade:@"haarcascade_frontalface_alt2" withFileExtension:@"xml"]; // Create the AVCapture Session session = [[AVCaptureSession alloc] init]; // create a preview layer to show the output from the camera AVCaptureVideoPreviewLayer *previewLayer = [AVCaptureVideoPreviewLayer […]

使用OpenCV人脸检测在iOS中裁剪图像

我使用下面的代码从我的脸部检测代码中的图像裁剪一张脸。 但我没有得到适当的脸部图像,我得到了保存图像的一部分,而不是脸部。 我的代码有什么问题? _faceCascade.detectMultiScale(mat, faces, 1.1, 2, kHaarOptions, cv::Size(40, 40)); 在displayfaces函数里面使用下面的代码进行裁剪: CGRect cropRect = CGRectMake(faces[i].x, faces[i].y, faces[i].width, faces[i].width); CGImageRef cropped_img = CGImageCreateWithImageInRect(self.storeImage.CGImage, cropRect); UIImage *img = [UIImage imageWithCGImage:cropped_img]; UIImageWriteToSavedPhotosAlbum( img, self, nil,nil); 得到正确的faces[i]坐标faces[i] 。 但问题只在于裁剪和设定ROI。 有人能帮我解决吗? 我也试着用下面的代码,再次获得相同的图像。 (即,我没有得到实际的脸部图像) cv :: Mat image_roi; cv::Rect roi(faces[i].x, faces[i].y, faces[i].width, faces[i].height); cv::Mat(testMat, roi).copyTo(image_roi); UIImage *img = [CaptureViewController imageWithCVMat:image_roi ]; […]

如何编译OpenCV for iOS7(arm64)

编译Xcode项目失败并出现以下错误: “文件/ Users / * /Git/ocr/opencv2.framework/opencv2中缺less必需的架构arm64” 如果我把体系结构(在构build设置下)改为(armv7,armv7s)而不是(armv7,armv7s),效果很好。 如何更改opencv python构build脚本,添加arm64支持opencv2.framework?

我如何在iOS上进行面部识别?

我已经开始使用iOS应用程序来识别照片或iPhone / iPad相机中的脸部。 像OpenCV和Core Image(iOS 5.0)等现有的解决scheme提供了一个图像中的面部检测,但我找不到一个图像或例子,匹配一个人的脸。 对于iOS来说,是否存在这样的面部识别手段,而不仅仅是检测?

find论文的angular落

我是openCV的新手,从最近3天到4天都在努力工作,我已经检测到了纸张边界,现在我想在angular落画4个圆。 我从这个代码中划出边界 const cv::Point* p = &squares[i][0]; int n = (int)squares[i].size(); polylines(image, &p,&n, 1, true, Scalar(255,255,0), 5, CV_AA); 我在openCV中是新的,所以我认为我有左上angular的点p-> x和p-> y,但是我怎样得到其他的angular,我也混淆了这个多义线方法中的参数&n,这个多义线方法绘制完整的矩形? 当我使用边界矩形时,它不是完美的给纸面上的一点点空间。 任何帮助真的很感激 代码是: – (cv::Mat)finshWork:(cv::Mat &)image { // read in the apple (change path to the file) Mat img0 =image;// imread("/home/philipp/img/apple.jpg", 1); Mat img1; cvtColor(img0, img1, CV_RGB2GRAY); // apply your filter Canny(img1, img1, 100, […]