Tag: opencv

Android / iOS OpenCV眼睛扩张检测

寻找意见,如果OpenCV可以或已经被用来检测Android或iOS上的眼睛扩张。 除了使用OpenCV的EyePhone应用程序进行眼动追踪和眨眼检测之外,我还没有发现什么。 在完美的条件下,我确信这是可能的,我更加好奇看到一个概念的certificate,它可以和已经完成。 谢谢您的意见。 rd42

OpenCV色调曲线progrommatically

我想要实现像色调曲线那样的水平。 我有预定义的一组曲线,我应该适用于图像。 例如: 就我所知,在这个图表中,我们看到当前色调值与新的依赖关系,例如:如果我们得到左边的第一个点 – 每个r,g和b = 0将被转换为64或每个大于224的值将是转换为0等。 所以我试图改变图像的每个像素到新的价值 为了testing目的,我简化了曲线: 这里的代码我有: //init original image cv::Mat originalMat = [self cvMatFromUIImage:inputImage]; //out image the same size cv::Mat outMat = [self cvMatFromUIImage:inputImage]; //loop throw every row of image for( int y = 0; y < originalMat.rows; y++ ){ //loop throw every column of image for( int x = […]

Iphone 6相机校准OpenCV

我正在开发一个使用OpenCV的iOS增强现实应用程序。 我在创build相机投影matrix时遇到了问题,以允许OpenGL叠加层直接映射到标记顶部。 我觉得这是由于我的iPhone 6相机没有正确地校准到应用程序。 我知道有OpenCV代码校准摄像头等使用国际象棋板,但我找不到一种方法来校准我的embedded式iPhone摄像头。 有没有办法? 或者是否有iPhone 6的估算值? 其中包括:x和y的焦距,x和y的主点以及畸变系数matrix。 任何帮助将不胜感激。 编辑: 推导值如下(使用iPhone 6,摄像头分辨率1280×720): fx=1229 cx=360 fy=1153 cy=640 此代码提供了当前运行iOS 9.1的设备的焦距和主要点的准确估计。 AVCaptureDeviceFormat *format = deviceInput.device.activeFormat; CMFormatDescriptionRef fDesc = format.formatDescription; CGSize dim = CMVideoFormatDescriptionGetPresentationDimensions(fDesc, true, true); float cx = float(dim.width) / 2.0; float cy = float(dim.height) / 2.0; float HFOV = format.videoFieldOfView; float VFOV = ((HFOV)/cx)*cy; float fx […]

OpenCV – 如何将自适应阈值应用于iOS上的图像

我正在尝试将自适应阈值应用于A4纸的图像,如下所示: 我使用下面的代码来应用image processing: + (UIImage *)processImageWithOpenCV:(UIImage*)inputImage { cv::Mat cvImage = [inputImage CVMat]; 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)); return [UIImage imageWithCVMat:cvImage]; } void CalcBlockMeanVariance(cv::Mat Img,cv::Mat Res,float blockSide=13) // blockSide – the parameter (set greater for larger font on image) { cv::Mat I; Img.convertTo(I,CV_32FC1); Res=cv::Mat::zeros(Img.rows/blockSide,Img.cols/blockSide,CV_32FC1); cv::Mat […]

为什么这个旋转方法给图像死angular? OpenCV的

我使用这种方法来旋转一个cvMat ,每当我运行它我得到一个旋转的图像,但是有很多deadspace下面。 void rotate(cv::Mat& src, double angle, cv::Mat& dst) { int len = std::max(src.cols, src.rows); cv::Point2f pt(len/2., len/2.); cv::Mat r = cv::getRotationMatrix2D(pt, angle, 1.0); cv::warpAffine(src, dst, r, cv::Size(len, len)); } 当给这个图像: 我得到这个图像: 图像已被旋转,但你可以看到一些额外的像素已被添加,我怎么只能旋转原始图像,而不是添加任何额外的像素? 方法调用: rotate(src, skew, res); res是dst 。

边缘平滑和充满iOS的opencv内部轮廓

我正尝试在opencv的帮助下以不同的强度晒黑人的皮肤。 我已经确定了人体皮肤,并改变了这些像素的色调。 但并不顺利。 左上方 – 原始图像右上方 – 原始图像的饱和通道左下方 – 灰度掩模标识原始图像上的皮肤位置右下方 – 颜色灰度变化的结果图像位于蒙版中的像素。 现在我的问题是,在蒙版图像中,由于原始图像中色调或亮度的变化而留下一些空白。 这就是为什么这些部分在结果图像中被遗漏的原因。 谁能告诉我如何填补面具图像的小缺口? 另一个如果有人能帮助我平滑我的鞣制面具的边缘将帮助我很多。 看到下面的参考图片, 提前致谢。

iOS加速框架vImage – 性能改进?

我一直在使用OpenCV和Apple的Accelerate框架,并且发现Accelerate的性能很慢,而且苹果的文档有限。 我们举个例子: void equalizeHistogram(const cv::Mat &planar8Image, cv::Mat &equalizedImage) { cv::Size size = planar8Image.size(); vImage_Buffer planarImageBuffer = { .width = static_cast<vImagePixelCount>(size.width), .height = static_cast<vImagePixelCount>(size.height), .rowBytes = planar8Image.step, .data = planar8Image.data }; vImage_Buffer equalizedImageBuffer = { .width = static_cast<vImagePixelCount>(size.width), .height = static_cast<vImagePixelCount>(size.height), .rowBytes = equalizedImage.step, .data = equalizedImage.data }; TIME_START(VIMAGE_EQUALIZE_HISTOGRAM); vImage_Error error = vImageEqualization_Planar8(&planarImageBuffer, &equalizedImageBuffer, kvImageNoFlags); TIME_END(VIMAGE_EQUALIZE_HISTOGRAM); […]

如何在iOS Swift中导入opencv2框架

我从OpenCV SourceForge页面下载了最新的预buildopencv2.framework。 然后在Xcode6-Beta3中,我添加了opencv2.framework作为我的Swift项目设置的“常规”选项卡下所需的链接框架: 框架添加到项目后,这是框架的结构: 如果这是一个Objective-C项目,我可以添加下面的导入语句: #ifdef __cplusplus #import <opencv2/opencv.hpp> #endif 在我的ViewController.swift文件中,如果我做了类似的事情,我得到一个“没有这样的模块”的错误: 我尝试了以下导致错误的变化: import opencv2/opencv.hpp import opencv2/opencv import opencv import "opencv2/opencv.hpp" import <opencv2/opencv> 什么是导入opencv到我的Swift项目的正确方法?

iOS上的OpenCV – GPU使用情况?

我正在尝试开发一个iOS应用程序,它可以对来自摄像机的video执行实时特效,就像iPad上的Photobooth一样。 我熟悉OpenCV的API,但是如果大多数处理是在CPU上完成的,那么我担心iOS上的性能。 像GPUImage这样的图书馆很可能会这样做,但我宁愿留下我熟悉的东西。 那么,有没有人知道如果为iOS编译的OpenCV使用GPU?

检测对象的颜色,并改变它的颜色ios

我正在使用opencv边缘和轮廓检测来裁剪一些对象。 现在对象包含两个或更多的颜色,所以我必须逐一改变颜色,ecample我想改变苹果的颜色,并将其背景添加为图像,我该怎么做。 我想参考应用程序 ,但我不知道这一点。 我使用的链接相同,但坚持在第三或第四步,因为不知道如何掩盖颜色。 我用另一个链接,并写下如下给出的代码邻接找不到我的解决scheme。 任何链接或教程,然后请分享。 IplImage *image=[self CreateIplImageFromUIImage:[UIImage imageNamed:@"mask.png"]]; IplImage *hsvImage = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 3); cvCvtColor(image,hsvImage,CV_RGB2HSV); NSLog(@"size is %dx%d",cvGetSize(image).width,cvGetSize(image).height); IplImage *hChannel = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1); IplImage *sChannel = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1); IplImage *vChannel = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1); cvSplit(hsvImage, hChannel, sChannel, vChannel, NULL); IplImage *cvinRangeOut=cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1); cvinRangeOut=[self inRangeImage:hsvImage]; IplImage *dest = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, […]