标签: camera

上传前压缩相机图像

我正在使用此代码(来自www.internetria.com)拍摄照片并上传到服务器:

的onCreate:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri output = Uri.fromFile(new File(foto));
intent.putExtra(MediaStore.EXTRA_OUTPUT, output);
startActivityForResult(intent, TAKE_PICTURE);
Run Code Online (Sandbox Code Playgroud)

onActivityResult:

ImageView iv = (ImageView) findViewById(R.id.imageView1);
        iv.setImageBitmap(BitmapFactory.decodeFile(foto));

        File file = new File(foto);
        if (file.exists()) {
            UploaderFoto nuevaTarea = new UploaderFoto();
            nuevaTarea.execute(foto);
        }
        else
            Toast.makeText(getApplicationContext(), "No se ha realizado la foto", Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)

UploaderFoto:

ProgressDialog pDialog;
String miFoto = "";

@Override
protected Void doInBackground(String... params) {
    miFoto = params[0];
    try { 
        HttpClient httpclient = new DefaultHttpClient();
        httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
        HttpPost httppost = new HttpPost("http://servidor.com/up.php");
        File …
Run Code Online (Sandbox Code Playgroud)

compression upload camera android image

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

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

我的团队正在开发一套用于条形码扫描,ID扫描OCR的SDK .我们使用设备的相机AVCaptureSession来获取我们执行处理的视频帧.

我们正在探索新的iOS 9多任务处理功能Slide Over和Split View.


Apple建议选择退出这些功能,以相机为中心的应用程序,其中使用整个屏幕进行预览和快速捕捉片刻是一个主要功能(参考).这是他们的示例应用程序AVCam中使用的方法.

但是,我们的客户可能拥有不属于此类别的应用程序(例如移动银行应用程序),因此我们无法强制他们选择退出,而是需要处理SDK中的新功能.我们正在探索最好的方法,因为目前的文档并没有真正告诉我们该做什么.


我们使用简单的Camera示例应用程序来分析用例.该示例应用程序可在Github上获得,它是从iOS 9 Beta 5开发的.

从示例应用程序中,可以清楚地看到使用"幻灯片放映"时以及使用"拆分视图"时发生的系统事件.

  • 当我们的应用程序是主要的,并使用幻灯片放映时,我们得到UIApplicationWillResignActiveNotificationAVCaptureSessionDidStopRunningNotification
  • 当滑过时,和我们的应用程序是次要的,我们得到UIApplicationWillEnterForegroundNotificationAVCaptureSessionDidStopRunningNotification之后立即
  • 使用拆分视图时,在每个分隔符拖动时,我们的应用程序都会获得UIApplicationWillResignActiveNotification.
  • 但是,如果在分割视图中启动摄像头,它会立即启动 AVCaptureSessionDidStopRunningNotification

因此,根据经验,AVCaptureSession当使用"幻灯片放大"或"拆分视图"时,它会立即停止.

令人困惑的是UIImagePickerController,我们的示例应用程序也支持它,表现出完全不同的行为.

UIImagePickerController当应用程序进入幻灯片放映/拆分视图时,它不会停止,而是完全正常运行.通常可以在Split View中拍照.实际上,两个应用程序(两者都存在UIImagePickerController)可以并行工作,UIImagePickerController活动应用程序处于活动状态.(你可以通过运行我们的示例应用程序和联系人应用程序 - >新联系人 - >添加照片来尝试


考虑到这一切,我们的问题如下:

  • 如果AVCaptureSession在使用"幻灯片放大"和"拆分视图"时立即暂停,是否最好监控AVCaptureSessionDidStopRunningNotification并向用户显示"Camera Paused"消息,以便他清楚地知道应用程序没有执行扫描?

  • 为什么行为UIImagePickerController不同AVCaptureSession

  • 我们可以期待Apple比未来beta版本的AVCaptureSession变化行为更符合UIImagePickerController吗?

camera multitasking ios avcapturesession ios9

26
推荐指数
1
解决办法
2762
查看次数

如何在.NET中连接USB网络摄像头?

我想连接到.NET中的USB网络摄像头,特别是使用C#.作为.NET的新手,我不知道标准库中有什么样的支持.我在网上找到了一个通过剪贴板复制位图的例子,但这看起来非常h​​acky(可能很慢).有没有更好的办法?

.net c# webcam camera image-capture

25
推荐指数
4
解决办法
5万
查看次数

如何在Android上播放原生相机声音

我想在相机预览捕捉上播放原生相机快门声音片段.我指的takePicture()是调用时播放的声音片段.
我怎么能这样?有人可以带我走过这些台阶吗?

camera android

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

在飞行中切换后/前摄像头

如果我只使用CAMERA_FACING_BACKCAMERA_FACING_FRONT所有工作正常.

切换CAMERA_FACING_BACK到时我遇到了麻烦CAMERA_FACING_FRONT.

我的代码片段:

public class PhotoCameraActivity extends Activity implements OnClickListener {
private SurfaceView cameraView;
private Button turnButton;
private Camera camera = null;
private Callback listener;
private static int camId = Camera.CameraInfo.CAMERA_FACING_BACK;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.photo_camera_main);
    prepareActivity();
}

private void prepareActivity() {
    cameraView = (SurfaceView) findViewById(R.id.photo_camera_surface_view);

    turnButton = (ImageButton) findViewById(R.id.turn_button);
    turnButton.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    if (v.equals(turnButton)) {
        if (Camera.getNumberOfCameras() > 1 && camId < Camera.getNumberOfCameras() …
Run Code Online (Sandbox Code Playgroud)

camera android android-camera

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

如何使用JNI在C中获取原始Android相机缓冲区?

我一直在搜索谷歌和StackOverflow,但无法找到它.也许我错过了一些明显的东西.谢谢!

(这是因为预览回调的Java实现[甚至使用缓冲区]效率太低.)

c java java-native-interface camera android

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

ios AVFoundation点击即可关注

我正在尝试创建一个相机应用程序,它或多或少会像默认的相机应用程序.目前对我不起作用的东西是重点关注.我希望相机能够对焦并在触摸点上做任何事情,就像真正的相机应用程序一样.

这是我的viewDidLoad

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Session
    _session = [[AVCaptureSession alloc] init];
    _session.sessionPreset = AVCaptureSessionPresetPhoto;

    // Input
    _videoDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    _videoInput = [AVCaptureDeviceInput deviceInputWithDevice:_videoDevice error:nil];

    // Output
    _frameOutput = [[AVCaptureVideoDataOutput alloc] init];
    _frameOutput.videoSettings = [NSDictionary dictionaryWithObject:AVVideoCodecJPEG forKey:AVVideoCodecKey];

    [_frameOutput setSampleBufferDelegate:self queue:dispatch_get_main_queue()];
    [_session addInput:_videoInput];
    [_session addOutput:_frameOutput];
    [_session startRunning];
};
Run Code Online (Sandbox Code Playgroud)

这里的方法应该让我的相机专注于点击.

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    [touches enumerateObjectsUsingBlock:^(id obj, BOOL *stop) {
        UITouch *touch = obj;
        CGPoint touchPoint = [touch locationInView:touch.view];
        focusLayer.frame = CGRectMake((touchPoint.x-25), (touchPoint.y-25), 50, 50);

        if ([_videoDevice isFocusPointOfInterestSupported]) …
Run Code Online (Sandbox Code Playgroud)

camera avfoundation ios

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

Android EXIF数据总是0,如何更改呢?

我有一个应用程序,使用本机捕获照片Camera,然后将它们上传到服务器.我的问题是所有照片的EXIF方向值都为0,这会使显示器在其他地方混乱.

如何更改EXIF方向?我不是在寻找一种方法来纠正每种情况,只需将其更改为不同的值.

我正在使用三星Galaxy Note 4

我尝试了这个在拍照前设置相机方向的解决方案:设置Android Photo EXIF方向

Camera c = Camera.open();
c.setDisplayOrientation(90);

Camera.Parameters params = mCamera.getParameters();
params.setRotation(0); // tried 0, 90, 180
c.setParameters(params);
Run Code Online (Sandbox Code Playgroud)

但它不会影响生成的EXIF数据,它仍然始终为0

我也试过这些解决方案,在拍摄后旋转图像:EXIF方向标记值始终为0,用于使用肖像相机app拍摄的图像

当旋转照片时,EXIF方向始终为0.

我还尝试直接设置EXIF数据:如何在Android中进行位图压缩后保存Exif数据

private Camera.PictureCallback mPicture = new Camera.PictureCallback() {
    @Override
    public void onPictureTaken(byte[] data, Camera camera) {
        final File pictureFile = getOutputMediaFile(MEDIA_TYPE_IMAGE, "");
        try {
            FileOutputStream fos = new FileOutputStream(pictureFile);

            ExifInterface exif = new ExifInterface(pictureFile.toString());
            exif.setAttribute(ExifInterface.TAG_ORIENTATION, "3");
            exif.saveAttributes();

            fos.write(data);
            fos.close();

            //upload photo..
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但上传后EXIF Orientation仍为0.

我也看过这些解决方案:

Exif数据TAG_ORIENTATION始终为0 …

camera android exif image orientation

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

没有调用相机onPreviewFrame

在使用Camera.PreviewCallback实现时,初始化相机并开始预览(Camera.startPrevew())后,onPreviewFrame会被无故障地调用.问题是,如果我使用MediaRecorder onPreviewFrame进行视频录制,则不再调用.

据我所知,当使用MediaRecorder录制视频时会停止Camera.PreviewCallback,但为什么不能重启?

我曾尝试重置相机预览回调(setPreviewCallback(回调))并重新启动startPreview,但同时我有一个预览出现到onPreviewFrame没有呼叫.

video camera android

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

Android的CameraInfo.orientation是否正确记录?错误地实施了?

在Android中,您可以Camera通过检索a来获取a 的属性的描述CameraInfo.我对方向很感兴趣,如http://developer.android.com/reference/android/hardware/Camera.CameraInfo.html#orientation所述.

然而,文档似乎与我的所有四个设备的行为方式不一致,而且,我有第五个设备的消息,这个设备看起来固定不变.

特别是,文档说:

该值是摄像机图像需要顺时针旋转的角度,因此它在显示屏上以其自然方向正确显示....例如,假设设备具有自然高的屏幕.后置摄像头传感器安装在横向上.你在看屏幕.如果相机传感器的顶部以自然方向与屏幕的右边缘对齐,则值应为90.如果前置摄像头传感器的顶部与屏幕右侧对齐,则值应为是270.

但在所述示例中,相机图像相对于自然高的方向顺时针旋转90度,而不是相反.也就是说,顶部与设备右侧对齐的图像需要顺时针旋转270度才能与设备的顶部对齐.

至少,我的所有四个设备都会为此值报告"90",并且当保持在自然方向时,所有设备的行为都好像相机的顶部是设备的右侧.也就是说,图像必须顺时针旋转270度,而不是90度,以匹配自然方向.这个例子似乎是对的; 第一行没有.

这个示例代码似乎支持我的结论,因为它只在方向被解释为上面时才给出正确的结果.

奇怪的是,我有来自一个用户设备的记录证据,显示它有时报告该值为90,其他时间报告为0!它应该是相机如何坐在设备中的物理属性,对吧?

  1. 任何人都可以确认文档的第一行实际上是错误的,这个例子是对的吗?
  2. 有没有人观察到价值的变化CameraInfo.orientation?在文档中是否有证据证明这是合法行为,或者它可能是设备中的错误?
  3. 任何其他相关的评论,经验,陷阱我还没有遇到过?

camera android orientation

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