react-native-rectangle-doc-scanner 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -165,36 +165,41 @@ class RNRDocScannerView: UIView, AVCaptureVideoDataOutputSampleBufferDelegate, A
165
165
  isProcessingFrame = false
166
166
  }
167
167
 
168
- let request = VNDetectRectanglesRequest { [weak self] request, error in
169
- guard let self else { return }
170
-
171
- if let error {
172
- NSLog("[RNRDocScanner] detection error: \(error)")
173
- self.lastObservation = nil
174
- self.handleDetectedRectangle(nil, frameSize: frameSize)
175
- return
176
- }
168
+ let requestHandler: VNRequestCompletionHandler = { [weak self] request, error in
169
+ guard let self = self else { return }
177
170
 
178
- guard let observations = request.results as? [VNRectangleObservation], !observations.isEmpty else {
179
- self.lastObservation = nil
180
- self.handleDetectedRectangle(nil, frameSize: frameSize)
181
- return
182
- }
171
+ if let error = error {
172
+ NSLog("[RNRDocScanner] detection error: \(error)")
173
+ self.lastObservation = nil
174
+ self.handleDetectedRectangle(nil, frameSize: frameSize)
175
+ return
176
+ }
183
177
 
184
- let weighted = observations.sorted { lhs, rhs in
185
- lhs.confidence * lhs.boundingBox.area > rhs.confidence * rhs.boundingBox.area
186
- }
178
+ guard let observations = request.results as? [VNRectangleObservation], !observations.isEmpty else {
179
+ self.lastObservation = nil
180
+ self.handleDetectedRectangle(nil, frameSize: frameSize)
181
+ return
182
+ }
187
183
 
188
- guard let best = weighted.first else {
189
- self.lastObservation = nil
190
- self.handleDetectedRectangle(nil, frameSize: frameSize)
191
- return
192
- }
193
- self.lastObservation = best
194
- self.missedDetectionFrames = 0
195
- self.handleDetectedRectangle(best, frameSize: frameSize)
184
+ let weighted: [VNRectangleObservation] = observations.sorted { (lhs: VNRectangleObservation, rhs: VNRectangleObservation) -> Bool in
185
+ let lhsScore: CGFloat = CGFloat(lhs.confidence) * lhs.boundingBox.area
186
+ let rhsScore: CGFloat = CGFloat(rhs.confidence) * rhs.boundingBox.area
187
+ return lhsScore > rhsScore
188
+ }
189
+
190
+ guard let best = weighted.first else {
191
+ self.lastObservation = nil
192
+ self.handleDetectedRectangle(nil, frameSize: frameSize)
193
+ return
196
194
  }
197
195
 
196
+ self.lastObservation = best
197
+ self.missedDetectionFrames = 0
198
+ self.handleDetectedRectangle(best, frameSize: frameSize)
199
+ }
200
+
201
+ let request = VNDetectRectanglesRequest(completionHandler: requestHandler)
202
+
198
203
  request.maximumObservations = 2
199
204
  request.minimumConfidence = 0.4
200
205
  request.minimumAspectRatio = 0.08
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-rectangle-doc-scanner",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "Native-backed document scanner for React Native with customizable overlays.",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",