私はiOSの中に新しいですし、問題は私がAVFoundationを使用してイメージメタデータを取得する方法は?
を取った画像からメタデータを取得する必要があり、私は私がイメージ
// Take picture callback
func capture(_ captureOutput: AVCapturePhotoOutput,
didFinishProcessingPhotoSampleBuffer photoSampleBuffer: CMSampleBuffer?,
previewPhotoSampleBuffer: CMSampleBuffer?,
resolvedSettings: AVCaptureResolvedPhotoSettings,
bracketSettings: AVCaptureBracketedStillImageSettings?,
error: Error?) {
if let error = error {
appDeligate.log.error("ERROR occure : \(error.localizedDescription)")
}
if let sampleBuffer = photoSampleBuffer,
let previewBuffer = previewPhotoSampleBuffer,
let dataImage = AVCapturePhotoOutput.jpegPhotoDataRepresentation(forJPEGSampleBuffer: sampleBuffer, previewPhotoSampleBuffer: previewBuffer) {
appDeligate.log.debug("dataImage : \(UIImage(data: dataImage)!.size as Any)")
let dataProvider = CGDataProvider(data: dataImage as CFData)!
let cgImageRef: CGImage! = CGImage(jpegDataProviderSource: dataProvider, decode: nil, shouldInterpolate: true, intent: .defaultIntent)
let image = UIImage(cgImage: cgImageRef, scale: 1.0, orientation: UIImageOrientation.right)
saveImageAndData(image: image)
} else {
appDeligate.log.error("some ERROR here")
}
}
を取得する方法のコードがあるAVFoundation
を使用して、私のカスタムのカメラで作業です私はUIImagePickerController
でメタデータを取得する方法を見つけましたが、同じことをする方法がありますAVFoundation
JavaではExifInterfaceを使用しています
final String [] tagProperties = {TAG_DATETIME, TAG_DATETIME_DIGITIZED, TAG_EXPOSURE_TIME,
TAG_FLASH, TAG_FOCAL_LENGTH, TAG_GPS_ALTITUDE, TAG_GPS_ALTITUDE_REF, TAG_GPS_DATESTAMP,
TAG_GPS_LATITUDE, TAG_GPS_LATITUDE_REF, TAG_GPS_LONGITUDE, TAG_GPS_LONGITUDE_REF,
TAG_GPS_PROCESSING_METHOD, TAG_GPS_TIMESTAMP, TAG_IMAGE_LENGTH, TAG_IMAGE_WIDTH, TAG_ISO, TAG_MAKE,
TAG_MODEL, TAG_ORIENTATION, TAG_SUBSEC_TIME, TAG_SUBSEC_TIME_DIG, TAG_SUBSEC_TIME_ORIG, TAG_WHITE_BALANCE,
TAG_FOCAL_LENGTH_IN_35MM_FILM, TAG_APERTURE_VALUE, TAG_BRIGHTNESS_VALUE, TAG_EXPOSURE_BIAS_VALUE,
TAG_EXPOSURE_INDEX, TAG_F_NUMBER, TAG_ISO_SPEED_RATINGS, TAG_LIGHT_SOURCE, TAG_SHUTTER_SPEED_VALUE,
TAG_SUBJECT_DISTANCE, TAG_SUBJECT_DISTANCE_RANGE};
Swift 3で同じようにするにはどうすればいいですか?
ありがとうございます! @Vimyは、最終的に私が出力
key : PixelWidth, value : 3264
key : ColorModel, value : RGB
key : PixelHeight, value : 2448
key : {PNG}, value : {
Chromaticities = (
"0.3127",
"0.329",
"0.64",
"0.33",
"0.3",
"0.6000000000000001",
"0.15",
"0.06"
);
Gamma = "0.45455";
InterlaceType = 0;
sRGBIntent = 0;
}
key : ProfileName, value : sRGB IEC61966-2.1
key : Depth, value : 8
************
key : BrightnessValue, BRIGHT :: ** nil
************
すべてのキーがありました答えに応じて
編集
- 画像をプロパティとして持っていることと値のペアを...
しかし、ドキュメントによれば、はるかに利用可能なプロパティがなければなりません。
https://developer.apple.com/reference/imageio/cgimageproperties/exif_dictionary_keys
どのように左のプロパティにアクセスできますか?
もっとプロパティを取得する方法を教えてください。質問 –
に説明を追加したことも 'import ImageIO'を追加することを忘れないでください –