Skip to content

Repository files navigation

Refine

Refine 是供 Apple 平台使用的 single 手写公式识别框架.

Getting Started

本框架以 Swift 包的形式提供。

// swift-tools-version:5.9
import PackageDescription

let package = Package(
  name: "MyPackage",
  dependencies: [
    .package(
      url: "https://github.com/mc-public/Refine.git", 
      .upToNextMinor)
    )
  ],
  targets: [
    .target(
      name: "MyTarget",
      dependencies: [
        .product(name: "Refine", package: "Refine")
      ]
    )
  ]
)

然后你需要在 SwiftUI 中使用 PredictionCanvas.

import SwiftUI
import Refine

struct ContentView: View {
    @StateObject var state =  PredictionCanvasState()
    var body: some View {
        VStack {
            PredictionCanvas(state: self.state)
                .border(.blue)
            Divider()
            List {
                Button {
                    self.state.cleanCanvas(cleanResult: true)
                } label: {
                    Text("Clean Prediction Result")
                }
                ForEach.init(state.predictionResult, id: \.id) { symbol in
                    symbol.image
                }
            }
        }
        .padding()
    }
}

Refine

Refine is a framework for performing single handwritten mathematical symbol recognition on the iOS platform.

Getting Started

The usage of this framework is very simple. To use Refine in your own project, you need to set it up as a package dependency:

// swift-tools-version:5.9
import PackageDescription

let package = Package(
  name: "MyPackage",
  dependencies: [
    .package(
      url: "https://github.com/mc-public/Refine.git", 
      .upToNextMinor)
    )
  ],
  targets: [
    .target(
      name: "MyTarget",
      dependencies: [
        .product(name: "Refine", package: "Refine")
      ]
    )
  ]
)

Then you need to use PredictionCanvas in SwiftUI.

import SwiftUI
import Refine

struct ContentView: View {
    @StateObject var state =  PredictionCanvasState()
    var body: some View {
        VStack {
            PredictionCanvas(state: self.state)
                .border(.blue)
            Divider()
            List {
                Button {
                    self.state.cleanCanvas(cleanResult: true)
                } label: {
                    Text("Clean Prediction Result")
                }
                ForEach.init(state.predictionResult, id: \.id) { symbol in
                    symbol.image
                }
            }
        }
        .padding()
    }
}

About

A framework for performing single mathematical symbol recognition on the iOS platform.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages