Tag: 相机

iOS:从相机获取逐像素数据

我意识到AVFoundation和它的捕获支持(虽然不太熟悉)。 但是,我没有看到任何可以轻松访问的API来获取逐像素的数据(RGB-per-pixel或类似的)。 我记得在文档中读到这是可能的,但我真的不知道如何。 所以: 可以这样做吗? 如果是这样,怎么样? 我会得到原始图像数据,还是被JPEG压缩的数据?

从相机拍摄的iphone图像自动旋转-90度

在编程上,我从我的相机中取得了我的应用程序中的图像。 它已被很好地取出,但当我转移到另一种观点,当时驳回这一观点,我的形象自动旋转-90度。 而这种变化只发生在第一次之后,当我移动没有发生变化时,意味着图像保持在-90度的状态,而这种情况只有在我从相机拍摄图像时才会发生。 当我从照片库取图像没有发现问题。 以下图像是我的原始图像 这是旋转的图像 我不知道为什么会发生这种变化。

在没有显示控件的情况下在iPhone上拍照

有没有办法在没有通过苹果控件的iPhone上的代码拍照? 我已经看到了一堆应用程序这样做,但我不知道什么API调用使用。

在iOS 8中显示相机权限对话框

当我的应用程序尝试在iOS 8上首次访问摄像头时,会向用户展示摄像头权限对话框,就像iOS 7中用于麦克风访问的麦克风一样。 在iOS 7中,可以预先调用麦克风权限对话框,并查看权限是否被授予(例如,请参阅此问题 )。 有没有类似的方式来调用iOS 8的摄像头权限对话框? 话筒和摄像头访问权限可以组合在一起吗?

来自相机的原始图像数据,如“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 […]

从iPhone中的相机返回的图像中读取GPS数据

我需要获取iOS设备摄像头拍摄图像的GPS坐标。 我不关心相机胶卷图像,只是使用UIImagePickerControllerSourceTypeCamera拍摄的图像。 我读过很多的stackoverflow的答案,像从UIImage的获取Exif数据 – UIImagePickerController ,要么假定您正在使用的AssetsLibrary框架,似乎不工作的相机图像,或使用CoreLocaiton从应用程序的纬度/经度本身,而不是从形象。 使用CoreLocation 不是一个选项 。 当按下快门button时,不会给我坐标。 (使用基于CoreLocation的解决scheme,您需要在启动摄像头视图之前或之后logging坐标,当然如果设备正在移动,坐标将是错误的,这种方法应该与固定设备配合使用。 我只是iOS5,所以我不需要支持较旧的设备。 这也是一个商业产品,所以我不能使用http://code.google.com/p/iphone-exif/ 。 那么,我有什么select从iOS5中的相机返回的图像读取GPS数据? 我现在所能想到的只是将图像保存到相机胶卷,然后使用AssetsLibrary,但似乎很麻烦。 谢谢! 这是我根据Caleb的回答写的代码。 UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage]; NSData *jpeg = UIImageJPEGRepresentation(image,1.0); CGImageSourceRef source ; source = CGImageSourceCreateWithData((__bridge CFDataRef)jpeg, NULL); NSDictionary *metadataNew = (__bridge NSDictionary *) CGImageSourceCopyPropertiesAtIndex(source,0,NULL); NSLog(@"%@",metadataNew); 我的控制台显示: 2012-04-26 14:15:37:137 ferret[2060:1799] { ColorModel = RGB; Depth = 8; Orientation […]

同时AVCaptureVideoDataOutput和AVCaptureMovieFileOutput

我需要能够使AVCaptureVideoDataOutput和AVCaptureMovieFileOutput工作。 下面的代码工作,但是,video录制不。 在调用startRecordingToOutputFileURL之后直接调用didFinishRecordingToOutputFileAtURL委托。 现在,如果我通过简单的注释掉AVCaptureVideoDataOutput从AVCaptureSession删除: [captureSession addOutput:captureDataOutput]; video录制的作品,但没有调用SampleBufferDelegate(我需要)。 我怎么能有AVCaptureVideoDataOutput和AVCaptureMovieFileOutput同时工作。 – (void)initCapture { AVCaptureDeviceInput *captureInput = [AVCaptureDeviceInput deviceInputWithDevice:[AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo] error:NULL]; captureDataOutput = [[AVCaptureVideoDataOutput alloc] init]; [captureDataOutput setSampleBufferDelegate:self queue:dispatch_get_main_queue()]; m_captureFileOutput = [[AVCaptureMovieFileOutput alloc] init]; NSString* key = (NSString*)kCVPixelBufferPixelFormatTypeKey; NSNumber* value = [NSNumber numberWithUnsignedInt:kCVPixelFormatType_32BGRA]; NSDictionary* videoSettings = [NSDictionary dictionaryWithObject:value forKey:key]; [captureDataOutput setVideoSettings:videoSettings]; captureSession = [[AVCaptureSession alloc] init]; [captureSession addInput:captureInput]; […]

如何使用AVCapturePhotoOutput

我一直在使用一个自定义的相机,我最近升级到Xcode 8 beta与斯威夫特3我原本有这样的: var stillImageOutput: AVCaptureStillImageOutput? 但是,我现在得到警告: 在iOS 10.0中不推荐使用“AVCaptureStillImageOutput”:使用AVCapturePhotoOutput 由于这是相当新的,我没有看到这方面的很多信息。 这是我现在的代码: var captureSession: AVCaptureSession? var stillImageOutput: AVCaptureStillImageOutput? var previewLayer: AVCaptureVideoPreviewLayer? func clickPicture() { if let videoConnection = stillImageOutput?.connection(withMediaType: AVMediaTypeVideo) { videoConnection.videoOrientation = .portrait stillImageOutput?.captureStillImageAsynchronously(from: videoConnection, completionHandler: { (sampleBuffer, error) -> Void in if sampleBuffer != nil { let imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(sampleBuffer) let dataProvider = CGDataProvider(data: […]

访问iOS 6新的API用于相机曝光和快门速度

在苹果的iOS 6.0function页上 ,它曾经说过 利用内置相机的高级function。 新的API可让您控制焦点,曝光和感兴趣的区域。 您还可以使用面部检测API访问和显示人脸,并利用支持硬件的video稳定function。 这段文字已经被删除了,我无法在API中find控制曝光的新方法。 在“Exposure Settings”下的AVCaptureDevice类中,iOS 6.0没有新的属性/方法。 你知道我在哪里可以find暴露在API中的新function?

将使用相机拍摄的照片捕获并存储到本地数据库/ PhoneGap / Cordova / iOS中

我目前正在使用Phonegap / Cordova和jQuerymobile构buildiOS应用程序。 这个想法是用相机拍摄照片并存储拍摄的图像以供将来使用。 我想将path/文件名存储到我的本地数据库,并将图片文件移动到iPhone中的一个永久的地方。 有人能给我一个例子吗?