All Projects → tuanna-hsp → kanji-handwriting-swift

tuanna-hsp / kanji-handwriting-swift

Licence: other
Kanji handwriting recognition for iOS using Zinnia.

Programming Languages

C++
36643 projects - #6 most used programming language
objective c
16641 projects - #2 most used programming language
swift
15916 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to kanji-handwriting-swift

zkanji
Japanese language study suite and dictionary
Stars: ✭ 55 (+103.7%)
Mutual labels:  japanese, kanji
kanjigrid
Fork of the Kanji Grid addon for Anki
Stars: ✭ 21 (-22.22%)
Mutual labels:  japanese, kanji
kanjigrid
A web-app displaying the 2200 kanji characters taught in James Heisig's "Remembering the Kanji", 6th edition.
Stars: ✭ 37 (+37.04%)
Mutual labels:  japanese, kanji
kanji
Haskell suite for determining what 級 (level) of the 漢字検定 (national Kanji exam) a given Kanji belongs to.
Stars: ✭ 19 (-29.63%)
Mutual labels:  japanese, kanji
jiten
jiten - japanese android/cli/web dictionary based on jmdict/kanjidic — 日本語 辞典 和英辞典 漢英字典 和独辞典 和蘭辞典
Stars: ✭ 64 (+137.04%)
Mutual labels:  japanese, kanji
kanji-frequency
Kanji usage frequency data collected from various sources
Stars: ✭ 92 (+240.74%)
Mutual labels:  japanese, kanji
Kawazu
A C# library for converting Japanese sentence to Hiragana, Katakana or Romaji with furigana and okurigana modes supported. Inspired by project Kuroshiro.
Stars: ✭ 33 (+22.22%)
Mutual labels:  japanese, kanji
wanikani-userscripts
Userscripts for the WaniKani.com website
Stars: ✭ 16 (-40.74%)
Mutual labels:  japanese, kanji
sakubun
A tool that helps you improve your Japanese vocabulary and kanji skills with practice that's customized to your needs.
Stars: ✭ 20 (-25.93%)
Mutual labels:  japanese, kanji
kanji-web-app
Angular.js kanji web application
Stars: ✭ 45 (+66.67%)
Mutual labels:  japanese, kanji
Mahjong
Implementation of riichi mahjong related stuff (hand cost, shanten, agari end, etc.)
Stars: ✭ 188 (+596.3%)
Mutual labels:  japanese
Voracious
A video player for studying foreign languages (esp. Japanese)
Stars: ✭ 203 (+651.85%)
Mutual labels:  japanese
handwriting-recognition
Handwriting Recognition Web API Proposal
Stars: ✭ 51 (+88.89%)
Mutual labels:  handwriting-recognition
nippon
日语N5-N2语法笔记~ 🍻
Stars: ✭ 84 (+211.11%)
Mutual labels:  japanese
Kanji Data Media
Japanese language data on kanji and radicals, media files, fonts and related resources from Kanji alive
Stars: ✭ 186 (+588.89%)
Mutual labels:  japanese
Vimdoc Ja
A project which translate Vim documents into Japanese.
Stars: ✭ 245 (+807.41%)
Mutual labels:  japanese
Safarikai
Safari extension for translating Japanese words.
Stars: ✭ 177 (+555.56%)
Mutual labels:  japanese
Emoji Ime Dictionary
日本語で絵文字入力をするための IME 追加辞書 📙 Google 日本語入力などで日本語から絵文字への変換を可能にする IME 拡張辞書です
Stars: ✭ 172 (+537.04%)
Mutual labels:  japanese
Neural japanese transliterator
Can neural networks transliterate Romaji into Japanese correctly?
Stars: ✭ 170 (+529.63%)
Mutual labels:  japanese
kanji-recognition
ichisadashioko.github.io/kanji-recognition/
Stars: ✭ 21 (-22.22%)
Mutual labels:  handwriting-recognition

Kanji handwriting recognition for iOS using Zinnia.

Overview

Zinnia is a great handwriting recognition library based on SVM. Our Japanese dictionary app uses a customized version of Zinnia, called ZinnaCocoaTouch, for the Kanji input engine.

This sample demonstrates how to use ZinnaCocoaTouch (which already provided the model and interface implementation in Objective-C) in an iOS project. It is written in Swift 4 with XCode 10.1.

Integrate Zinnia to your existing project

The process is a bit long but fairly simple. Look here for detailed instructions.

How to use the library

See DrawableView.swift for a simple implementation of the drawing canvas and HandritingViewModel.swift on how to use the library.

Basically, we create an instance of Recognizer and for each newly drawn stroke, feed that to Recognizer.classify() method which accepts an [NSValue] as the argument. The method returns a Result that represent the classified values ordered by confidence. Then we can apply result!.map { $0.value } to get an array of String, each of which represents a kanji.

Note

When you use a third-party library which is also happen to define a Result class (Alamofire for example), XCode may fail to resolve. If that happens, look into Result.h, Result.m and change the interface name to something else, like ZinniaResult to avoid the conflict.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].