标签: camera

CamcorderProfile.QUALITY_HIGH分辨率产生绿色闪烁视频

到目前为止,我还没有找到任何解释.基本上我有一个视频录制课程,当我的三星Galaxy S2上的setVideoSize()设置为720 x 480时,它可以很好地工作.

我希望它以最高分辨率进行录制,因此使用CamcorderProfile.QUALITY_HIGH我可以获得各种最高质量的录制属性并将其设置在我的班级中.这适用于文件格式,视频帧速率,编码器和比特率,但是当我尝试将视频大小设置为CamcorderProfile(1920 x 1080)返回的宽度和高度时,录制的视频只是一个绿色闪烁.

我注意到如果我将720 x 480更改为720 x 481它也做了同样的事情.因此,我只能假设在手机不支持分辨率时会发生这种情况.但是,手机附带的摄像机可以录制1920 x 1080,并且可以录制出色的录像.

我只能假设具有如此高的分辨率,我需要以不同的方式设置其他一些参数,但我无法弄清楚它们可能是什么.

有没有其他人有这个问题?

提前感谢您的回复.

camera android resolution mediarecorder

33
推荐指数
2
解决办法
2万
查看次数

PhoneGap相机重启应用程序

我正在使用PhoneGap的navigator.camera.getPicture功能从Android上的设备相机中检索照片.

function onSuccess(imageData) {
    alert("Success!");
}

function onFail(message) {
    alert('Failed because: ' + message);
}

$(function() {
    $("button").tap(function() {
        navigator.camera.getPicture(onSuccess, onFail, { quality: 50 }); 
    });
});
Run Code Online (Sandbox Code Playgroud)

当我单击按钮时,它确实启动了相机,但是当我在拍照后在相机应用上单击"确定"时,它会重新启动应用程序.

我试过了:

  • 使用不同的源类型.
  • 使用不同的目标类型.
  • 降低质量.

有任何想法吗?

编辑:我也在github上发一个问题.

camera android cordova

33
推荐指数
2
解决办法
2万
查看次数

android.os.FileUriExposedException:file.jpg通过ClipData.Item.getUri()暴露在app之外

我尝试按下一个打开相机并拍照的按钮.我的代码在这里

//for imports check on bottom of this code block

public class HomeProfileActivity extends AppCompatActivity {
//Button camera
public static final String TAG = HomeProfileActivity.class.getSimpleName();
public static final int REQUEST_TAKE_PHOTO = 0;
public static final int REQUEST_TAKE_VIDEO = 1;
public static final int REQUEST_PICK_PHOTO = 2;
public static final int REQUEST_PICK_VIDEO = 3;
public static final int MEDIA_TYPE_IMAGE = 4;
public static final int MEDIA_TYPE_VIDEO = 5;

private Uri mMediaUri;
private ImageView photobutton;
private Button buttonUploadImage, buttonTakeImage;

protected void onCreate(Bundle …
Run Code Online (Sandbox Code Playgroud)

media camera android image onclick

33
推荐指数
2
解决办法
5万
查看次数

从Android中的视频图像中获取帧

我已经实现了一个简单的应用程序,在屏幕上显示相机图片.我现在要做的是抓取一个帧并将其作为位图处理.从我能找到的东西到这一点,这不是一件容易的事.

我已经尝试使用onPreviewFrame方法,您将当前帧作为字节数组,并尝试使用BitmapFactory类解码它,但它返回null.帧的格式是无头YUV,可以转换为位图,但在手机上需要太长时间.另外我已经读过onPreviewFrame方法在运行时有约束,如果它需要太长时间,应用程序可能会崩溃.

那么这样做的正确方法是什么?

java camera android

32
推荐指数
3
解决办法
6万
查看次数

将图像叠加到相机预览SurfaceView上

我有一个SurfaceView用于绘制图像的,我想将它们叠加到手机相机的实时信息中.

目前,SurfaceView包含图像的图像具有白色背景,但如果我将它们叠加到手机的相机源上,则它们必须是透明的.相机和动画绘图不能在同一个上完成SurfaceView.

追求使用涉及管理相机和绘制图像的多个视图的最佳方法是什么?是否可以SurfaceView透明化?

graphics camera android surfaceview

32
推荐指数
4
解决办法
6万
查看次数

带GigE Vision相机的OpenCV

我需要将OpenCV与GigE Vision以太网相机一起使用,但我找不到有关如何执行此操作的任何有用信息,任何指针,文档和示例代码?

我需要从相机读取帧.

camera opencv

31
推荐指数
2
解决办法
4万
查看次数

如何正确释放AVCaptureSession

我正在使用AV Foundation类从相机捕获实时视频流并处理视频样本.这很好用.但是,一旦完成,我确实无法正确释放AV基础实例(捕获会话,预览层,输入和输出).

当我不再需要会话和所有关联对象时,我会停止捕获会话并释放它.这大部分时间都有效.但是,有时应用程序崩溃时会在调度队列(以及处理视频样本的位置)创建的第二个线程中引发EXEC_BAD_ACCESS信号.崩溃主要是由于我自己的类实例,它作为样本缓冲区委托,并在我停止捕获会话后被释放.

Apple文档提到了问题:停止捕获会话是一种异步操作.那就是:它不会立即发生.特别是,第二个线程继续处理视频样本并访问不同的实例,如捕获会话或输入和输出设备.

那么如何正确释放AVCaptureSession和所有相关实例呢?是否有通知可靠地告诉我AVCaptureSession已完成?

这是我的代码:

声明:

AVCaptureSession* session;
AVCaptureVideoPreviewLayer* previewLayer;
UIView* view;
Run Code Online (Sandbox Code Playgroud)

实例设置:

AVCaptureDevice* camera = [AVCaptureDevice defaultDeviceWithMediaType: AVMediaTypeVideo];
session = [[AVCaptureSession alloc] init];

AVCaptureDeviceInput* input = [AVCaptureDeviceInput deviceInputWithDevice: camera error: &error];
[session addInput: input];
AVCaptureVideoDataOutput* output = [[[AVCaptureVideoDataOutput alloc] init] autorelease];
[session addOutput: output];

dispatch_queue_t queue = dispatch_queue_create("augm_reality", NULL);
[output setSampleBufferDelegate: self queue: queue];
dispatch_release(queue);

previewLayer = [[AVCaptureVideoPreviewLayer layerWithSession: session] retain];
previewLayer.frame = view.bounds;
[view.layer addSublayer: previewLayer];

[session startRunning];
Run Code Online (Sandbox Code Playgroud)

清理:

[previewLayer removeFromSuperlayer];
[previewLayer release];
[session stopRunning];
[session release];
Run Code Online (Sandbox Code Playgroud)

iphone camera multithreading avfoundation ios

31
推荐指数
1
解决办法
3万
查看次数

UIImagePickerController - 默认情况下如何访问前置摄像头?

我使用ViewController中的以下代码调出相机:

- (void)viewDidLoad {
    self.imgPicker = [[UIImagePickerController alloc] init];
    self.imgPicker.sourceType = UIImagePickerControllerCameraDeviceFront;
    self.imgPicker.delegate = self;     
}

- (IBAction)grabCamera {
    [self presentModalViewController:self.imgPicker animated:YES];
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能让相机默认使用iPhone4的前置摄像头而不是后置摄像头?我试过DeviceFront无济于事.

此外,如何在按下grabCamera后在此相机的顶部添加子视图(半尺寸)?如果我在我的MainWindow.xib中有这个子视图我在说完presentModalViewController代码之后尝试说addSubview但它没有用...我需要创建一个NSTimer并在完全呈现相机显示后加载addSubview或者我需要使用别的东西(类似于CSS中的z-index)第二个问题的答案是imgPicker.cameraOverlayView = viewName;

谢谢大家!

camera objective-c uiimagepickercontroller ios swift

31
推荐指数
1
解决办法
1万
查看次数

如何修复Android模拟器中的"无法连接到相机服务"异常

当我在模拟器中运行我的Android应用程序时,我无法连接到相机服务异常.我已经阅读了各种现有的帖子,但没有人修复过这个问题.很明显,Camera.open()调用失败了.我最终想让网络摄像头进入模拟器,正如许多SO帖子所讨论的那样,但现在只是希望应用程序在没有轰炸的情况下运行.我不关心是否有任何摄像机视频显示,因为除了我需要测试的相机之外还有其他功能,并且主要测试我的设备上的摄像头.

我的清单似乎没问题.其中包含以下几行:

<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.CAMERA"></uses-permission>
Run Code Online (Sandbox Code Playgroud)

在我的AVD管理器中,我将前后摄像头设置为"仿真",SD卡值设置为64.这些似乎是推荐值.完整的堆栈跟踪现在在下面.解决方案必须是直截了当的,但是什么?

10-09 08:14:32.375    2628-2628/com.allinlearning.AILAndroidScanner E/AndroidRuntime? FATAL EXCEPTION: main
Process: com.allinlearning.AILAndroidScanner, PID: 2628
java.lang.RuntimeException: Fail to connect to camera service
        at android.hardware.Camera.native_setup(Native Method)
        at android.hardware.Camera.<init>(Camera.java:350)
        at android.hardware.Camera.open(Camera.java:309)
        at com.allinlearning.AILAndroidScanner.AsynCamPreview.surfaceCreated(AsynCamPreview.java:104)
        at android.view.SurfaceView.updateWindow(SurfaceView.java:572)
        at android.view.SurfaceView.access$000(SurfaceView.java:86)
        at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:175)
        at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:847)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1871)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5670)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
        at android.view.Choreographer.doCallbacks(Choreographer.java:574)
        at android.view.Choreographer.doFrame(Choreographer.java:544)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
        at android.os.Handler.handleCallback(Handler.java:733)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5017)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
        at dalvik.system.NativeStart.main(Native Method) …
Run Code Online (Sandbox Code Playgroud)

camera android emulation android-emulator intellij-13

31
推荐指数
5
解决办法
8万
查看次数

didFinishPickingMediaWithInfo返回零照片

我正在努力捕获使用4.0返回的图像

- (void)imagePickerController:(UIImagePickerController *)picker 
    didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    [[picker parentViewController] dismissModalViewControllerAnimated:YES]; 

    // MediaType can be kUTTypeImage or kUTTypeMovie. If it's a movie then you
    // can get the URL to the actual file itself. This example only looks for images.
    //   
    NSString* mediaType = [info objectForKey:UIImagePickerControllerMediaType];
    // NSString* videoUrl = [info objectForKey:UIImagePickerControllerMediaURL];

    // Try getting the edited image first. If it doesn't exist then you get the
    // original image.
    //
    if (CFStringCompare((CFStringRef) mediaType,  kUTTypeImage, 0) == kCFCompareEqualTo) {               
        UIImage* picture …
Run Code Online (Sandbox Code Playgroud)

iphone camera uiimagepickercontroller uiimage

30
推荐指数
3
解决办法
4万
查看次数