我正在研究一个可以移动的iPhone机器人。 其中一个挑战就是估计到物体的距离 – 我不希望机器人碰到物体。 我看到一些非常昂贵(约1000美元)的激光测距仪,并希望用iPhone模拟一个。 我有一个或两个摄像头和两个激光指针。 激光指示器以约6英寸的间隔安装,angular度相对于照相机的激光angular度是已知的。 相机相互之间的angular度是已知的。 激光指向摄像头前方,在摄像头上创build2个点。 是否可以通过查看摄像机图像中的点之间的距离来估计与点的距离? 激光形成一个梯形从 /wall \ / \ /laser mount \ 当激光安装架靠近墙壁时,点应该彼此远离。 我说的是可行的吗? 有没有人做过这样的事情? 我需要一个或两个摄像头进行这种计算吗?
我遵循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实现避免碰撞。 这是要在iOS上完成(iOS 5和以上将做)。 项目目标:这个想法是在汽车的仪表板上安装一个iPad并启动应用程序。 应用程序应该抓取相机的帧,并处理这些帧,以检测车是否将与任何障碍物碰撞。 我是任何forms的image processing新手,因此我在这个项目中陷入概念层面。 到目前为止我所做的是: 看看OpenCV,并在网上阅读。 避免碰撞使用Lukas-Kanade金字塔法进行实施。 这是正确的吗? 使用这个项目作为一个起点: http : //aptogo.co.uk/2011/09/opencv-framework-for-ios/它成功地运行在我的iPad和捕捉function的作品,以及意味着相机捕捉是很好的,集成。 我改变了processFrame实现来尝试光stream而不是Canny边缘检测。 这是function(还不完整)。 -(void)processFrame { int currSliderVal = self.lowSlider.value; if(_prevSliderVal == currSliderVal) return; cv::Mat grayFramePrev, grayFrameLast, prevCorners, lastCorners, status, err; // Convert captured frame to grayscale for _prevFrame cv::cvtColor(_prevFrame, grayFramePrev, cv::COLOR_RGB2GRAY); cv::goodFeaturesToTrack(grayFramePrev, prevCorners, 500, 0.01, 10); // Convert captured frame to […]
我正在开发一个使用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 […]
我怎样才能在iPhone上做面部识别。 有人可以给我提供参考资料/文章,指出我在正确的方向吗? 我已经做了研究,并意识到我需要首先进行人脸检测来提取图像,然后通过将其与数据库中的其他图像进行比较来进行面部识别。 我已经意识到,我已经使用OpenCV进行人脸检测,或者使用iOS 5.0及更高版本来检测人脸。 我不确定面部识别(我计划将图像存储在远程数据库上,然后与远程数据库进行比较)。