Skip to content

Commit

Permalink
Remove the old legacy OCR code (#181)
Browse files Browse the repository at this point in the history
* Remove the old legacy OCR code

* make OCR model a member variable
  • Loading branch information
kingst authored Jul 8, 2020
1 parent 4ec8779 commit 3e55cd1
Show file tree
Hide file tree
Showing 13 changed files with 37 additions and 1,202 deletions.
29 changes: 0 additions & 29 deletions CardScan/Classes/CreditCardOcr/LegacyCreditCardOcr.swift

This file was deleted.

12 changes: 9 additions & 3 deletions CardScan/Classes/CreditCardOcr/SSDCreditCardOcr.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,20 @@
import UIKit

@available(iOS 11.2, *)
class SSDCreditCardOcr: CreditCardOcrImplementation {
override func recognizeCard(in fullImage: CGImage, roiRectangle: CGRect) -> CreditCardOcrPrediction {
public class SSDCreditCardOcr: CreditCardOcrImplementation {
let ocr: OcrDD

public override init(dispatchQueue: DispatchQueue) {
ocr = OcrDD()
super.init(dispatchQueue: dispatchQueue)
}

public override func recognizeCard(in fullImage: CGImage, roiRectangle: CGRect) -> CreditCardOcrPrediction {
guard let image = croppedImageForSsd(fullCardImage: fullImage, roiRectangle: roiRectangle)
else {
return CreditCardOcrPrediction.emptyPrediction(cgImage: fullImage)
}

let ocr = OcrDD()
let startTime = Date()
let number = ocr.perform(croppedCardImage: image)
let duration = -startTime.timeIntervalSinceNow
Expand Down
46 changes: 0 additions & 46 deletions CardScan/Classes/Expiry.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,50 +21,4 @@ public struct Expiry: Hashable {
let twoDigitYear = self.year % 100
return String(format: "%02d/%02d", self.month, twoDigitYear)
}

@available(iOS 11.2, *)
static func from(image: CGImage, within rect: CGRect) -> Expiry? {
guard let digits = RecognizedDigits.from(image: image, within: rect, minConfidence: 0.65) else {
return nil
}

let (string, _) = digits.toString()

if string.count != 4 {
return nil
}

let monthString = String(string.prefix(2))
let yearString = String(string.suffix(2))

if monthString.count != 2 && yearString.count != 2 {
return nil
}

guard let month = UInt(monthString) else {
return nil
}

if month <= 0 || month > 12 {
return nil
}

guard let year = UInt(yearString) else {
return nil
}

let now = Date()
let currentYear = Calendar.current.component(.year, from: now)
let currentMonth = Calendar.current.component(.month, from: now)
let fullYear = 2000 + year
if fullYear < currentYear || fullYear >= (currentYear + 10) {
return nil
}

if fullYear == currentYear && month < currentMonth {
return nil
}

return Expiry(string: string, month: month, year: fullYear)
}
}
221 changes: 0 additions & 221 deletions CardScan/Classes/FindFourOcr.swift

This file was deleted.

Loading

0 comments on commit 3e55cd1

Please sign in to comment.