0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

iOSバーコードリーダーの読込範囲指定方法

Posted at

はじめに

iOSバーコードリーダーの読込範囲指定をしたかったが、なかなか上手くいかず、
解決するまでに時間がかかったため、読込範囲指定方法についての記事を投稿します。

またソースコードは最低限しか載せていません。
基本的なバーコード読み取り方法に関しては、他の記事を参考にしてみてください。

完成図

作成中のアプリにはなりますが、
バーコード読み取り後、楽天APIを叩き、楽天から書籍情報を取得し、表示させています。

Videotogif.gif

バーコードリーダーの読込範囲指定方法

1. 読込範囲を指定するためのViewを作成

下記画像の通り、captureViewを作成します。

スクリーンショット 2024-08-05 23.44.37.png

2. バーコードの検出範囲の指定

下記のような形で、バーコードの検出範囲を指定します。

// 背面カメラの映像を画面に表示するためのレイヤーを生成
let previewLayer = AVCaptureVideoPreviewLayer(session: self.session)
previewLayer.frame = self.captureView.bounds
previewLayer.videoGravity = .resizeAspectFill
self.captureView.layer.addSublayer(previewLayer)
                        
// 検出エリアの設定
metadataOutput.rectOfInterest = previewLayer.metadataOutputRectConverted(fromLayerRect: captureView.bounds)

下記のソースコード部分が重要な部分になります。
検出エリアのy軸がズレる事象は、下記のソースコードのような記載にすることで直るかと思います。
previewLayer.metadataOutputRectConverted(fromLayerRect: captureView.bounds)

以上。

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?