Skip to content

Instantly share code, notes, and snippets.

View yektasarioglu's full-sized avatar
🤓
Working on some interesting stuff

Yekta Sarioglu yektasarioglu

🤓
Working on some interesting stuff
View GitHub Profile
using UnityEngine;
public class CharacterStateMachine : StateMachineBehaviour
{
public static CharacterAnimationState characterAnimationState;
public static BaseCharacter baseCharacter;
public static void setBaseCharacter<T>(T character) where T : BaseCharacter
{
// TextRecognitionViewModel
fun analyzeBitmap(bitmap: Bitmap) {
textRecognizer.analyzeBitmap(bitmap) {
Timber.d("stringValue is ${it.stringValue}")
if (it.stringValue.isEmpty()) {
outputLiveData.value = "No text recognized !!"
Timber.e("No text recognized !!")
}
// TextRecognitionViewModel
fun analyzeStream() {
if (isCameraStarted)
textRecognizer.analyzeStream {
it.forEach { _, value ->
Timber.d("stringValue is ${value?.stringValue}")
outputLiveData.postValue(value?.stringValue)
value?.contents?.forEachIndexed { index, element ->
Timber.d("[$index] is ${element.stringValue}")
var resultAction: ((SparseArray<MLText.Block?>) -> Unit)? = null
override fun transactResult(results: MLAnalyzer.Result<MLText.Block?>) {
val items = results.analyseList
// Determine detection result processing as required. Note that only the detection results are processed.
// Other detection-related APIs provided by ML Kit cannot be called.
resultAction?.invoke(items)
resultAction = null
}
@yektasarioglu
yektasarioglu / TextRecognitionViewModel+TextRecognizer.kt
Created January 4, 2021 20:57
The initialization of stream text analyzer
// TextRecognitionViewModel.kt
fun initializeStreamAnalyzer(context: Context) {
textRecognizer.initializeStreamAnalyzer(context)
}
// TextRecognizer.kt
fun initializeStreamAnalyzer(context: Context) {
initializeDeviceStreamAnalyzer(context)
}
enum class TextLanguage(val languageCode: String) {
ENGLISH("en"),
CHINESE( "cn"),
TURKISH("tr")
}
@yektasarioglu
yektasarioglu / TextRecognitionViewModel+TextRecognizer.kt
Last active January 5, 2021 08:53
The initialization of static text analyzer
// TextRecognitionViewModel.kt
fun initializeTextAnalyzer(isNetworkConnected: Boolean) {
textRecognizer.initializeTextAnalyzer(isNetworkConnected, TextLanguage.TURKISH)
}
// TextRecognizer.kt
fun initializeTextAnalyzer(isNetworkConnected: Boolean = false, textLanguage: TextLanguage) {
if (isNetworkConnected)
initializeCloudTextAnalyzer(listOf(textLanguage.languageCode))
else
override fun onResume() {
super.onResume()
openCameraStream(lensEngine ?: return)
}
override fun onPause() {
super.onPause()
closeCameraStream()
}
private fun initializeLensEngine() {
lensEngine = LensEngine.Creator(activity, analyzer)
.setLensType(LensEngine.FRONT_LENS)
.applyDisplayDimension(WIDTH, HEIGHT)
.applyFps(FPS)
.enableAutomaticFocus(true)
.create()
}
@yektasarioglu
yektasarioglu / StreamHumanBodySegmentationFragment.kt
Last active November 30, 2020 19:18
Initialize Analyzer for camera stream mode
private fun initializeAnalyzer() {
val setting = MLImageSegmentationSetting.Factory() // Set whether to support fine segmentation. The value true indicates fine segmentation, and the value false indicates fast segmentation.
.setExact(false)
.setAnalyzerType(MLImageSegmentationSetting.BODY_SEG)
.setScene(MLImageSegmentationScene.FOREGROUND_ONLY)
.create()
analyzer = MLAnalyzerFactory.getInstance().getImageSegmentationAnalyzer(setting)
analyzer?.setTransactor(ImageSegmentAnalyzerTransactor(binding?.graphic ?: return))
}