61 lines
1.8 KiB
PowerShell
61 lines
1.8 KiB
PowerShell
$global:LDPlayerPath ="C:\Ldplayer\LDplayer9"
|
|
|
|
function logger($logMessage) {
|
|
$scriptName = Split-Path -Leaf $PSCommandPath
|
|
$timestamp = date
|
|
$timestampedLogMessage = $timestamp + "--$scriptName--:" + $logMessage
|
|
$logFilePath = "$global:LDPlayerPath\LDAutoLog.txt"
|
|
$fs = New-Object System.IO.FileStream($logFilePath, [System.IO.FileMode]::Append, [System.IO.FileAccess]::Write, [System.IO.FileShare]::Read)
|
|
$sw = New-Object System.IO.StreamWriter($fs)
|
|
try {
|
|
$sw.WriteLine($timestampedLogMessage)
|
|
} finally {
|
|
$sw.Close()
|
|
$fs.Close()
|
|
}
|
|
}
|
|
|
|
|
|
#$adbOut= adb -s 10.0.211.121 shell screencap -p /sdcard/screenshot.png 2>$null
|
|
#$adbPull= adb -s 10.0.211.121 pull /sdcard/screenshot.png
|
|
adb connect 10.0.211.121 *>$null
|
|
adb -s 10.0.211.121 exec-out screencap -p > $global:LDPlayerPath\screenshot.png
|
|
|
|
& "C:\Program Files\Tesseract-OCR\tesseract.exe" "$global:LDPlayerPath\screenshot.png" "$global:LDPlayerPath\tesseract" -l eng tsv
|
|
|
|
$tsvFile = "$global:LDPlayerPath\tesseract.tsv"
|
|
|
|
$wordCoords = Get-Content $tsvFile | ConvertFrom-Csv -Delimiter "`t"
|
|
$wordCoords | Where-Object ($_.level -eq 5) | Select-Object text, left, top, width, height
|
|
|
|
|
|
$Data=$wordCoords | ForEach-Object {
|
|
$x1 =[int]$_._left
|
|
$y1 =[int]$_.top
|
|
$x2 = $x1 + [int]$_.width
|
|
$y2 = $y1 + [int]$_.height
|
|
|
|
$midX =[math]::Round(($x1+$x2)/2)
|
|
$midY =[math]::Round(($y1+$y2)/2)
|
|
|
|
[PSCustomObject]@{
|
|
Text = $_.text
|
|
X1 = $x1
|
|
Y1 = $y1
|
|
X2 = $x2
|
|
Y2 = $y2
|
|
MidX = $midX
|
|
MidY = $midY
|
|
Coords = "$midX $midY"
|
|
}
|
|
}
|
|
|
|
$wordCoords | Format-Table
|
|
$Data | Format-Table
|
|
$coordsForText = $Data["Show"].Coords
|
|
$cordsForText
|
|
|
|
$showCoords = $Data | Where-Object {$_.Text -and $_.Text.ToLower() -eq 'show'}
|
|
|
|
$showCoords.Coords
|