【问题标题】:Taking raw pictures from the camera [closed]从相机拍摄原始照片[关闭]
【发布时间】:2019-12-02 11:57:38
【问题描述】:

所以,我正在尝试使用闪光灯从手机的后置摄像头拍照,但似乎 camerakit 库在调用 captureImage 时返回了一个字节数组,

我不确定它们是 jpeg 还是原始字节(我想要的),我尝试的另一件事是使用 camera2 API,但看起来很复杂(也不确定是否是正确的方法)而且我找不到好的原始格式的教程,只是 jpeg。

有人可以帮助我提供教程、示例或建议以继续吗?

【问题讨论】:

标签: java android kotlin android-camera android-camera2


【解决方案1】:

示例项目见:Raw-Dumper

【讨论】:

    【解决方案2】:

    https://github.com/android/camera-samples/tree/master/Camera2Formats 是用于捕获 RAW 缓冲区的官方 camera2 示例。

    它将它们保存为 Adob​​e DNG 格式。

    【讨论】:

      【解决方案3】:

      用相机意图拍照会给出一个字节数据。

      幸运的是,从字节转换为位图并不难。

      启动相机意图

      private fun dispatchTakePictureIntent() {
          Intent(MediaStore.ACTION_IMAGE_CAPTURE).also { takePictureIntent ->
              takePictureIntent.resolveActivity(packageManager)?.also {
                  startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE)
              }
          }
      }
      

      拍照后得到结果

        override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
          if(requestCode == REQUEST_IMAGE_CAPTURE && resultCode == Activity.RESULT_OK) {
              val bitmap = data?.extras?.get("data") as Bitmap
              imageView.setImageBitmap(bitmap)
          }
          super.onActivityResult(requestCode, resultCode, data)
      }
      

      注意:

      imageView = setImageBitmap(bitmap)  
      

      imageView 在布局中是我的 imageView

      参考: https://developer.android.com/training/camera/photobasics

      【讨论】:

      • 如果你放下至少说出原因
      猜你喜欢
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多