Tag: opencv

图像边缘平滑与opencv

我正在尝试使用opencv框架来平滑输出图像的边缘,我正在尝试以下步骤。 从这里采取步骤https://stackoverflow.com/a/17175381/790842 int lowThreshold = 10.0; int ratio = 3; int kernel_size = 3; Mat src_gray,detected_edges,dst,blurred; /// Convert the image to grayscale cvtColor( result, src_gray, CV_BGR2GRAY ); /// Reduce noise with a kernel 3×3 cv::blur( src_gray, detected_edges, cv::Size(5,5) ); /// Canny detector cv::Canny( detected_edges, detected_edges, lowThreshold, lowThreshold*ratio, kernel_size ); //Works fine upto here I am […]

iPhone上的脸部识别

我怎样才能在iPhone上做面部识别。 有人可以给我提供参考资料/文章,指出我在正确的方向吗? 我已经做了研究,并意识到我需要首先进行人脸检测来提取图像,然后通过将其与数据库中的其他图像进行比较来进行面部识别。 我已经意识到,我已经使用OpenCV进行人脸检测,或者使用iOS 5.0及更高版本来检测人脸。 我不确定面部识别(我计划将图像存储在远程数据库上,然后与远程数据库进行比较)。

openCV 2.4.3 iOS框架编译器在识别一些c ++头文件时遇到麻烦

openCV 2.4.3 / Xcode 4.5.2 / mac osx 10.8.2 我正在尝试让openCV与iOS一起工作。 我正在尝试使用openCV.org预构build的2.4.3框架。 不过,我正在得到以下xcode项目生成错误,build议编译器不知道它正在处理c + +,例如 #include <list> !'list' file not found namespace cv !unknown type name 'namespace' 这似乎只涉及以下头文件: “opencv2 /非自由/ features2d.hpp” “opencv2 /非自由/ nonfree.hpp” “opencv2 /video/ video.hpp” 如果我不包含这三个文件在opencv.hpp(或任何其他地方),我似乎能够编译和使用openCV好了。 麻烦的是,我确实需要使用非自由文件,因为我正在尝试使用SURF – 最近已将其移至非自由文件中。 这真是一个双重的问题(对不起;-) 我如何说服编译器这些是C ++头文件? 哪些头正是我需要使用SURF? 更新 我克隆了openCV git仓库,并从中构build了一个新的框架。 这种方法以前没有奏效,但是今天我意识到我没有使用CMAKE的当前版本。 我一直在使用CMAKE 2.8.2,这将无法为ios构buildopencv。 目前的版本CMAKE 2.8.10没有任何问题(这是一个服从文档的对象的教训,它确实需要CMAKE min。v2.8.8)。 现在,当我在Xcode项目中添加opencv框架的当前版本时,我可以包含features2d和nonfree,并且可以顺利构build。 唯一的问题仍然是一个头: […]

iOS:从背景图像中检索矩形图像

我正在一个实现中,我在一个大的背景图像中有一个矩形形状的图像。 我试图以编程方式从大图像检索矩形形状的图像,并从该特定的矩形图像检索文本信息。 我正在尝试使用Open-CV第三方框架,但无法从大背景图像中检索矩形图像。 有人能指导我,我怎么能做到这一点? 更新: 我发现链接找出使用OpenCV的正方形形状。 我可以得到它修改为寻找矩形形状? 有人可以指导我吗? 更新最新: 我终于得到了代码,下面是它。 – (cv::Mat)cvMatWithImage:(UIImage *)image { CGColorSpaceRef colorSpace = CGImageGetColorSpace(image.CGImage); CGFloat cols = image.size.width; CGFloat rows = image.size.height; cv::Mat cvMat(rows, cols, CV_8UC4); // 8 bits per component, 4 channels CGContextRef contextRef = CGBitmapContextCreate(cvMat.data, // Pointer to backing data cols, // Width of bitmap rows, // Height of […]

iPhone上OpenCV形状识别教程

我会喜欢做一些iPhone的OpenCV应用程序来识别简单的形状像方通过相机。 任何人都可以给我看一个简单的教程吗?

在c ++中使用OpenCV 2.4计算凸性缺陷

我使用OpenCV 2.4来计算图像的凸包。 我也在做一些处理,从图像中去除一些噪音,这与问题无关。 计算凸面的代码如下: … cv::Mat sourceImage; // assume something is already here please cv::vector<cv::Vec4i> hierarchy; std::vector<std::vector<cv::Point> > contours; cv::findContours( sourceImage, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE,cv::Point(0, 0)); // Find the convex hull object for each contour vector<cv::vector<cv::Point> >hull( contours.size() ); for (int i = 0; i < contours.size(); i++) { convexHull( contours[i], hull[i], false ); } […]

来自相机的原始图像数据,如“645 PRO”

前一段我已经问过这个问题了,我也得到了很好的回答: 我一直在search这个论坛,但我找不到我真正需要的东西。 我想从相机获取原始图像数据。 直到现在,我试图从该方法captureStillImageAsynchronouslyFromConnection:completionHandler:中获取数据的imageDataSampleBuffer:并将其写入到一个NSData对象,但是这并不起作用。 也许我在错误的轨道上,或者我只是做错了。 我不想要的是以任何方式压缩图像。 简单的方法是使用jpegStillImageNSDataRepresentation:从AVCaptureStillImageOutput,但就像我说我不希望它被压缩。 谢谢! 来自相机的原始图像数据 我以为我可以用这个工作,但我终于注意到,我需要像在“645 PRO”中那样直接获取原始图像数据。 645 PRO:RAW Redux 该网站上的图片显示,他们得到原始数据之前,任何JPEG压缩完成。 那是我想要做的。 我的猜测是,我需要转换imageDataSampleBuffer但我没有看到一种方式来完成没有压缩。 “645专业”还保存在TIFF的图片,所以我认为它至less使用一个额外的库。 我不想做一个照片应用程序,但我需要最好的质量来检查图片中的某些function。 谢谢! 编辑1:所以在尝试和search不同的方向一段时间后,我决定给一个状态更新。 这个项目的最终目标是在opencv的帮助下检查图片中的某些特征。 但直到应用程序能够在手机上做到这一点,我试图从电话中获得大部分未压缩的图片,以分析他们在电脑上。 因此,我想保存“NSData实例包含从相机返回的未压缩的BGRA字节”我可以得到Brad Larson的代码作为bmp或TIFF文件。 正如我在评论中所说的,我尝试过使用opencv(无论如何都需要)。 但是我能做的最好的就是把它变成一个具有计算机视觉会谈function的UIImage。 void *baseAddress = CVPixelBufferGetBaseAddress(imageBuffer); cv::Mat frame(height, width, CV_8UC4, (void*)baseAddress); UIImage *testImag = [UIImage imageWithMat:frame andImageOrientation:UIImageOrientationUp]; //imageWithMat… being the function from Computer Vision Talks which I can post if […]

自动透视校正OpenCV

我试图在我的iOS程序中实现自动透视校正,当我使用我在教程中find的testing图像时,一切正常。 但是当我拍摄一张照片时,我收到了一个奇怪的结果。 我正在使用本教程中的代码 当我给它看起来像这样的图像: 我得到这个结果: 这是什么dst给我可能有所帮助。 我正在使用这个来调用包含代码的方法。 quadSegmentation(Img, bw, dst, quad); 任何人都可以告诉我,当我得到如此多的绿线相比,教程? 而我怎么能够解决这个问题,并适当裁剪图像只包含卡?

OpenCV自适应阈值OCR

我正在使用OpenCV从iPhone摄像头为OCR准备图像,而我一直无法获得准确的OCR扫描所需的结果。 这里是我现在使用的代码。 cv::cvtColor(cvImage, cvImage, CV_BGR2GRAY); cv::medianBlur(cvImage, cvImage, 0); cv::adaptiveThreshold(cvImage, cvImage, 255, CV_ADAPTIVE_THRESH_MEAN_C, CV_THRESH_BINARY, 5, 4); 这种方法需要太长时间,并没有提供给我好的结果。 关于如何使这个更有效的任何build议? 图像来自iPhone相机。 在使用Andry的build议之后。 cv::Mat cvImage = [self cvMatFromUIImage:image]; cv::Mat res; cv::cvtColor(cvImage, cvImage, CV_RGB2GRAY); cvImage.convertTo(cvImage,CV_32FC1,1.0/255.0); CalcBlockMeanVariance(cvImage,res); res=1.0-res; res=cvImage+res; cv::threshold(res,res, 0.85, 1, cv::THRESH_BINARY); cv::resize(res, res, cv::Size(res.cols/2,res.rows/2)); image = [self UIImageFromCVMat:cvImage]; 方法: void CalcBlockMeanVariance(cv::Mat Img,cv::Mat Res,float blockSide=21) // blockSide – the parameter […]

ios:改变UIImage的颜色

我正在开发一个Iphone应用程序。 我有PNG图片代表符号。 符号都是黑色的,透明的背景。 有什么办法可以把黑色变成另一种吗? 我正在寻找的东西,可以帮助我select我想要的颜色,当使用符号(在UIImage),我可以让他们看起来是我select的颜色。 我search了四周,发现一个名为OpenCV的框架,可以操纵图像,但我不能找出如何重新着色图片。 任何帮助和build议,不胜感激。 谢谢