Tag: 相机

UIImagePickerController – 将图片裁剪成方形(纵向)

我正在使用UIImagePickerController来拍摄和编辑图片。 它在景观上工作得很好,但是在肖像中它会将图片裁剪成方形(不允许减less图像以便像景观中那样完全适合方形的农作物区域。 码: -(IBAction)initCamera:(id)sender{ //Init imagePicker instance UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; [imagePicker setDelegate:self]; [imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera]; [imagePicker setShowsCameraControls:YES]; [imagePicker setAllowsEditing:YES]; [self presentModalViewController:imagePicker animated:YES]; [imagePicker release]; }

IOS / iPhone的照片突发模式API

我试图在iPhone 5s上以最高分辨率(AVCaptureSessionPresetPhoto)捕捉多张照片。 我尝试使用下面的代码: dispatch_semaphore_t sync = dispatch_semaphore_create(0); while( [self isBurstModeEnabled] == YES ) { [stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler: ^(CMSampleBufferRef imageSampleBuffer, NSError *error) { if (imageSampleBuffer != NULL) { NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer]; NSString *videoThumbPath = [NSString stringWithFormat:@"%@/img%d.png", burstFolderPath, index]; [imageData writeToFile:videoThumbPath atomically:YES]; if( 0 == index ) { [self NSLogPrint:[NSString stringWithFormat:@"Created photo at %@",videoThumbPath]]; } […]

在iOS 4.3中将YpCbCr iPhone 4相框渲染为OpenGL ES 2.0纹理

我正在尝试在iPhone 4上的iOS 4.3中将本机平面图像渲染为OpenGL ES 2.0纹理。然而,纹理全部变黑。 我的相机configuration如下: [videoOutput setVideoSettings:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange] forKey:(id)kCVPixelBufferPixelFormatTypeKey]]; 我像这样将像素数据传递给我的纹理: glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, bufferWidth, bufferHeight, 0, GL_RGB_422_APPLE, GL_UNSIGNED_SHORT_8_8_REV_APPLE, CVPixelBufferGetBaseAddress(cameraFrame)); 我的战斗着色器是: varying highp vec2 textureCoordinate; uniform sampler2D videoFrame; void main() { lowp vec4 color; color = texture2D(videoFrame, textureCoordinate); lowp vec3 convertedColor = vec3(-0.87075, 0.52975, -1.08175); convertedColor += 1.164 * color.g; // Y convertedColor += […]

IOS Swift – 自定义摄像头覆盖

你好我想在我的应用程序中打开一个像这样 我只想在部分中间打开一个摄像头,所以用户只能在矩形部分进行拍摄 我正在使用的代码是这样的 import UIKit import AVFoundation class TakeProductPhotoController: UIViewController { let captureSession = AVCaptureSession() var previewLayer : AVCaptureVideoPreviewLayer? // If we find a device we'll store it here for later use var captureDevice : AVCaptureDevice? override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. captureSession.sessionPreset […]

如何在iOS 9中通过幻灯片和拆分视图使用AVCaptureSession?

我的团队正在开发一套用于条码扫描 , ID扫描和OCR的SDK。 我们使用设备的相机,特别是AVCaptureSession ,来获取我们进行处理的video帧。 我们正在探索新的iOS 9多任务function幻灯片和拆分视图。 苹果build议select以相机为中心的应用程序的这些function,使用整个屏幕快速预览和捕捉片刻是一个主要function( 参考 )。 这是在他们的示例应用程序AVCam中使用的方法。 但是,我们的客户可能有不属于这个类别的应用程序(例如手机银行应用程序),所以我们不能强迫他们退出,而是需要处理SDK中的新function。 我们正在探索什么是最好的方法,因为目前的文档并没有告诉我们该怎么做。 我们使用我们简单的Camera示例应用程序来分析用例。 示例应用程序在Github上可用,它是从iOS 9 Beta 5开发的。 从示例应用程序中,可以清楚地看到使用“幻灯片放映”时以及使用“分割视图”时发生了哪些系统事件。 当我们的应用程序是主要的,并使用幻灯片,我们得到了UIApplicationWillResignActiveNotification和AVCaptureSessionDidStopRunningNotification 当使用幻灯片播放,我们的应用程序是次要的,我们得到UIApplicationWillEnterForegroundNotification和AVCaptureSessionDidStopRunningNotification后立即 当使用拆分视图时,在每个分隔符拖动,我们的应用程序获取UIApplicationWillResignActiveNotification 。 但是,如果在分割视图中启动相机,则立即获取AVCaptureSessionDidStopRunningNotification 所以,凭经验来看,当使用“幻灯片”或“分割视图”时, AVCaptureSession会立即停止。 令人困惑的是我们的示例应用程序也支持的UIImagePickerControllerperformance出完全不同的行为。 当应用程序进入幻灯片放映/分割视图时, UIImagePickerController不会停止,而是完全正常运行。 通常可以在分割视图中拍照。 实际上,两个呈现UIImagePickerController应用程序可以并行工作,活动应用程序的UIImagePickerController处于活动状态。 (您可以通过运行我们的示例应用程序和联系人应用程序 – >新build联系人 – >添加照片来尝试) 考虑到这一切,我们的问题如下: 如果在使用“幻灯片”和“分割视图”时立即暂停AVCaptureSession ,是否需要监视AVCaptureSessionDidStopRunningNotification ,并向用户显示消息“Camera Paused”,以便他清楚地知道应用程序未执行扫描? 为什么UIImagePickerController行为与AVCaptureSession不同? 我们可以期待从苹果比AVCaptureSession未来testing版本行为更改为匹配UIImagePickerController ?

自定义相机视图Swift iOS 8 iPhone xCode 6.1

我想在我的iPhone里面使用相机。 我不想使用典型的全屏相机视图,但我自己的。 例如,我想在屏幕中间有一个正方形的200×200,并有一个相机预览。 在这个广场下面,我想要一个button来拍照。 怎么做? 我很快就开始

我怎样才能从iPhone相机快速处理图像?

我正在写一个iPhone应用程序,它将做一些实时的相机image processing。 我使用AVFoundation文档中提供的示例作为出发点:设置捕获会话,从样本缓冲区数据制作UIImage,然后通过-setNeedsDisplay (在主线程中调用)绘制图像。 这是有效的,但速度相当慢(每帧50毫秒,在-drawRect:调用之间测量,对于192 x 144预设),而且我在App Store上看到的应用程序比这更快。 大约一半的时间都花在-setNeedsDisplay 。 我怎样才能加快这个image processing?

iOS:如何打开animation效果的相机?

我想用animation效果打开相机,所以它应该只出现在父屏幕上打开相机。 我正在使用摄像头叠加屏幕,并且在父屏幕中button的单击事件中,摄像头叠加屏幕打开,在摄像头叠加屏幕中有一个取消button来closures摄像头,所以在再次closures摄像头时,我需要显示animation效果它应该出现,现在相机是在同一父母卵石closures。 我已经尝试过kCATransitionMoveIn但不完全满意,如果有的话有更好的解决scheme请帮助我。 CATransition * contentAnimation = [CATransition animation]; contentAnimation.type = kCATransitionMoveIn; contentAnimation.subtype = kCATransitionFromBottom; contentAnimation.duration = 1.0; contentAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; [[self.view layer] addAnimation:contentAnimation forKey:kCATransition]; //self.view.hidden = YES; [CATransaction commit]; // Show the scanner overlay [self presentModalViewController:overlayController.parentPicker animated:TRUE];

尝试在iOS模拟器中使用相机后,应用程序冻结,即使执行捕获处理

我正在尝试在swift 3中将相机function添加到我的应用程序中。由于iOS模拟器没有相机,因此我写了一个do catch以允许应用程序在模拟器中使用相机失败后继续运行。 do{ let captureDeviceInput = try AVCaptureDeviceInput(device: captureDevice) captureSession.addInput(captureDeviceInput) }catch{ print("there was an error adding camera as input: ") print(error.localizedDescription) } 返回的错误是“不能logging”。 但是,这完全冻结了应用程序。 我错过了我的error handling的东西,或者这是使用模拟器不可避免的副作用?

可能吗? 相机api ios

我想在应用程序中实现一个function,当用户通过应用程序拍照时,他在屏幕上看到的是: 正常viefinder,显示用户将捕获的图像 一个额外的层,不完全透明可能是一个0.4的alpha。 这个层包含一个面的轮廓。 这样用户可以将他的图像与轮廓alignment。 在此之后,用户拍摄照片时,所有的应用程序都只是用animation的身体来显示脸部(轮廓内部的图片的一部分)。 我不确定是否可以添加额外的图层(第2点)。 轮廓也不是一张脸的轮廓,可以是人体的轮廓,也可以是树或任何其他的轮廓。