1
こんにちは私はswift3
とAVFoundation
を使用して請求書のバーコードを検出しています。私の請求書は1行に最大3つのバーコードを持っています。どのようにして1つの文字列に合計のバーコードを組み合わせ、行のすべてのバーコードが検出されて1つの文字列に結合された後に操作を停止することができますか?ここSwift 3が1行で複数のバーコードを検出する
は私のサンプル法案は、下
で3バーコードがここにあります
である私のAVCaptureMetadataOutputObjectsDelegate機能は
func captureOutput(_ captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [Any]!, from connection: AVCaptureConnection!) {
// This is the delegate'smethod that is called when a code is readed
for metadata in metadataObjects {
let readableObject = metadata as! AVMetadataMachineReadableCodeObject
let code = readableObject.stringValue
self.dismiss(animated: true, completion: nil)
self.delegate?.barcodeReaded(barcode: code!)
print(code!)
print(readableObject.type)
}
}
どのように修正することができています〜まですべての3つのバーコードをスキャンして組み合わせ、すべてのバーコードがデコードされたときにViewcontroller
に通知しますか?どんな助けでも大変感謝しています。おかげ
おかげで、良い解決策でなければなりません。しかし1つの問題は、1行に1.2または3のバーコードがあることです。その行のすべてのバーコードを読み取る必要があります –
このような場合は、「ガード」ステートメントを削除する必要があります。しかし、ユーザーがiPhoneを適切に配置していないため、バーコードが1つだけであるか、複数のバーコードの1つがスキャンされている場合を区別する必要があります。 – Avt
私はまだ検出領域の使用を考えています。例えば、rectangeには線が入っています。あなたはそれが可能だと思いますか? –