-
Notifications
You must be signed in to change notification settings - Fork 14
/
ViewController.swift
177 lines (136 loc) · 6.55 KB
/
ViewController.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
import UIKit
import AVFoundation
class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate{
@IBOutlet weak var warningLbl: UILabel!
@IBOutlet weak var resultLbl: UILabel!
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var cameraBtnView: UIView!
@IBOutlet weak var imageBtnView: UIView!
@IBOutlet weak var settingsBtnView: UIView!
@IBOutlet weak var aboutBtnView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
var ret = FaceSDK.setActivation("glF/068/SCjGIKN/o1HwZKKEANRWrO0eCTY7VinO46mMiXWcccNfCGLzAe2aNU2JBbjcn+IY000Q" +
"zwYQUjEqx8X4Dkx41KMcZhJQSSdPg9KBEpxbOaksjsPCktAy78wlUJ9L+zmX6oa0h/3H45gMCHka" +
"qPjjEWqrtGotonspHOxo5Z8TqofHSWJ04ORGllILdB4UQELaeToomCJMSNMJRKt425sIEdidO/+2" +
"cQTdw04ShTpyMRgFI4B/sY5XMlz8Jyh1L9X3Yf5vEzj/Dk6d/7mtp1r3vRzIaBiFvk8M0Y0CyIwK" +
"pdXxtkmC/OAO7DqzT3XQL69oX51XBMIwQXFriA==")
if(ret == SDK_SUCCESS.rawValue) {
ret = FaceSDK.initSDK()
}
if(ret != SDK_SUCCESS.rawValue) {
warningLbl.isHidden = false
if(ret == SDK_LICENSE_KEY_ERROR.rawValue) {
warningLbl.text = "Invalid license!"
} else if(ret == SDK_LICENSE_APPID_ERROR.rawValue) {
warningLbl.text = "Invalid license!"
} else if(ret == SDK_LICENSE_EXPIRED.rawValue) {
warningLbl.text = "License expired!"
} else if(ret == SDK_NO_ACTIVATED.rawValue) {
warningLbl.text = "No activated!"
} else if(ret == SDK_INIT_ERROR.rawValue) {
warningLbl.text = "Init error!"
}
}
SettingsViewController.setDefaultSettings()
}
@IBAction func camera_touch_down(_ sender: Any) {
UIView.animate(withDuration: 0.5) {
self.cameraBtnView.backgroundColor = UIColor(named: "clr_main_button_bg2") // Change to desired color
}
}
@IBAction func camera_touch_cancel(_ sender: Any) {
UIView.animate(withDuration: 0.5) {
self.cameraBtnView.backgroundColor = UIColor(named: "clr_main_button_bg1") // Change to desired color
}
}
@IBAction func camera_clicked(_ sender: Any) {
UIView.animate(withDuration: 0.5) {
self.cameraBtnView.backgroundColor = UIColor(named: "clr_main_button_bg1") // Change to desired color
}
performSegue(withIdentifier: "camera", sender: self)
}
@IBAction func image_touch_down(_ sender: Any) {
UIView.animate(withDuration: 0.5) {
self.imageBtnView.backgroundColor = UIColor(named: "clr_main_button_bg2") // Change to desired color
}
}
@IBAction func image_touch_up(_ sender: Any) {
UIView.animate(withDuration: 0.5) {
self.imageBtnView.backgroundColor = UIColor(named: "clr_main_button_bg1") // Change to desired color
}
}
@IBAction func image_clicked(_ sender: Any) {
UIView.animate(withDuration: 0.5) {
self.imageBtnView.backgroundColor = UIColor(named: "clr_main_button_bg1") // Change to desired color
}
let imagePicker = UIImagePickerController()
imagePicker.sourceType = .photoLibrary
imagePicker.delegate = self
present(imagePicker, animated: true, completion: nil)
}
@IBAction func settings_touch_down(_ sender: Any) {
UIView.animate(withDuration: 0.5) {
self.settingsBtnView.backgroundColor = UIColor(named: "clr_main_button_bg2") // Change to desired color
}
}
@IBAction func settings_touch_up(_ sender: Any) {
UIView.animate(withDuration: 0.5) {
self.settingsBtnView.backgroundColor = UIColor(named: "clr_main_button_bg1") // Change to desired color
}
}
@IBAction func settings_clicked(_ sender: Any) {
UIView.animate(withDuration: 0.5) {
self.settingsBtnView.backgroundColor = UIColor(named: "clr_main_button_bg1") // Change to desired color
}
performSegue(withIdentifier: "settings", sender: self)
}
@IBAction func about_touch_down(_ sender: Any) {
UIView.animate(withDuration: 0.5) {
self.aboutBtnView.backgroundColor = UIColor(named: "clr_main_button_bg2") // Change to desired color
}
}
@IBAction func about_touch_up(_ sender: Any) {
UIView.animate(withDuration: 0.5) {
self.aboutBtnView.backgroundColor = UIColor(named: "clr_main_button_bg1") // Change to desired color
}
}
@IBAction func about_clicked(_ sender: Any) {
UIView.animate(withDuration: 0.5) {
self.aboutBtnView.backgroundColor = UIColor(named: "clr_main_button_bg1") // Change to desired color
}
performSegue(withIdentifier: "about", sender: self)
}
@IBAction func brand_clicked(_ sender: Any) {
let webURL = URL(string: "https://kby-ai.com")
UIApplication.shared.open(webURL!, options: [:], completionHandler: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
dismiss(animated: true, completion: nil)
guard let image = info[.originalImage] as? UIImage else {
return
}
let fixed_image = image.fixOrientation()
imageView.image = fixed_image
let faceBoxes = FaceSDK.faceDetection(fixed_image)
if(faceBoxes.count == 0) {
resultLbl.text = "No face"
resultLbl.textColor = UIColor.red
return
}
let defaults = UserDefaults.standard
let livenessThreshold = defaults.float(forKey: "liveness_threshold")
let faceBox = faceBoxes[0] as! FaceBox
if(faceBox.liveness < livenessThreshold) {
resultLbl.text = "SPOOF, Score: " + String(format: "%.3f", faceBox.liveness)
resultLbl.textColor = UIColor.red
} else {
resultLbl.text = "REAL, Score: " + String(format: "%.3f", faceBox.liveness)
resultLbl.textColor = UIColor.green
}
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
dismiss(animated: true, completion: nil)
}
}