|
@@ -418,17 +418,16 @@ extension KMOCRManager {
|
|
|
|
|
|
func dealImage(image: NSImage, isCorrection: Bool, isEnhancement: Bool) -> NSImage? {
|
|
|
// return image
|
|
|
+ var resultImage: NSImage = image
|
|
|
let tempImage = NSImage(data: image.jpgData()!)! //NSImage(named: "doc_scan_3")!
|
|
|
let cimEngine = CIMEngine()
|
|
|
- var engineImage = tempImage
|
|
|
if isEnhancement {
|
|
|
- engineImage = cimEngine.process(withInputImage: tempImage)
|
|
|
+ resultImage = cimEngine.process(withInputImage: tempImage)
|
|
|
}
|
|
|
|
|
|
- var resultImage: NSImage = engineImage
|
|
|
let semaphore = DispatchSemaphore(value: 0)
|
|
|
if isCorrection {
|
|
|
- cimEngine.correction(withInpuImage: engineImage) { model, error in
|
|
|
+ cimEngine.correction(withInpuImage: resultImage) { model, error in
|
|
|
resultImage = model.outputImage
|
|
|
semaphore.signal() // 通知主线程继续执行
|
|
|
}
|
|
@@ -530,14 +529,23 @@ extension KMOCRManager {
|
|
|
}
|
|
|
} else if model.pageRangeType == .odd {
|
|
|
for i in 0..<document.pageCount where i % 2 != 0 {
|
|
|
- pages.append(Int(i))
|
|
|
+ if i >= 1 {
|
|
|
+ pages.append(Int(i) - 1)
|
|
|
+ }
|
|
|
}
|
|
|
} else if model.pageRangeType == .even {
|
|
|
- for i in 0..<document.pageCount where i % 2 == 0 {
|
|
|
- pages.append(Int(i))
|
|
|
+ for i in 0..<(document.pageCount + 1) where i % 2 == 0 {
|
|
|
+ if i >= 1 {
|
|
|
+ pages.append(Int(i) - 1)
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
pages = KMPageRangeTools.findSelectPage(pageRangeString:model.pageRangeString , pageCount: Int(document.pageCount))
|
|
|
+ var tempPages: [Int] = []
|
|
|
+ for index in pages {
|
|
|
+ tempPages.append(max(index - 1, 0))
|
|
|
+ }
|
|
|
+ pages = tempPages
|
|
|
}
|
|
|
return pages
|
|
|
}
|