DispatchQueue.global(qos: .background).async {
do {
- let request = VNDetectRectanglesRequest { (request, error) in
+ let request = VNDetectBarcodesRequest { (request, error) in
// Access the first result in the array,
// after converting to an array
// of VNRectangleObservation
- guard let results = request.results?.compactMap({ $0 as? VNRectangleObservation }), let result = results.first else {
+ guard let results = request.results?.compactMap({ $0 as? VNBarcodeObservation }), let result = results.first else {
print ("[Vision] VNRequest produced no result")
return
}
func setBillboardImage(image: UIImage) {
let material = SCNMaterial()
material.isDoubleSided = true
DispatchQueue.main.async {
let imageView = UIImageView(image: image)
// UIView 可以被指定為一種 material
// 當然也可以直接將image 指定一種 material
// material.diffuse.contents = image
material.diffuse.contents = imageView
self.billboard?.billboardNode?.geometry?.materials = [material]
}
}