Skip to content

Commit 0f736d8

Browse files
committed
test project
1 parent 169821b commit 0f736d8

File tree

9 files changed

+107
-0
lines changed

9 files changed

+107
-0
lines changed

TextDetector/.idea/.gitignore

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

TextDetector/.idea/TextDetector.iml

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

TextDetector/.idea/inspectionProfiles/profiles_settings.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

TextDetector/.idea/misc.xml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

TextDetector/.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

TextDetector/.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

TextDetector/main.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import ocr
2+
3+
4+
def main():
5+
# 示例1:截取屏幕并保存为图片
6+
ocr.check_text_in_window('chrome', 'Google')
7+
8+
9+
if __name__ == "__main__":
10+
main()

TextDetector/ocr.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import time
2+
import pygetwindow as gw
3+
import pytesseract
4+
from PIL import ImageGrab
5+
import settings
6+
7+
# 设置Tesseract可执行文件的路径
8+
pytesseract.pytesseract.tesseract_cmd = settings.tesseract_cmd
9+
10+
11+
# 截取窗口截图
12+
def capture_window(process_name):
13+
# 获取所有窗口
14+
windows = gw.getWindowsWithTitle(process_name)
15+
16+
if not windows:
17+
print(f"没有找到进程窗口: {process_name}")
18+
return
19+
20+
# 假设我们只截取第一个匹配的窗口
21+
window = windows[0]
22+
window.activate()
23+
24+
scale_factor = settings.scale_factor
25+
# 获取窗口的坐标并调整
26+
bbox = (
27+
int(window.left * scale_factor),
28+
int(window.top * scale_factor),
29+
int(window.right * scale_factor),
30+
int(window.bottom * scale_factor)
31+
)
32+
print(f"窗口坐标: {bbox}")
33+
34+
# 截取窗口截图
35+
screenshot = ImageGrab.grab(bbox)
36+
# screenshot.save(f'{process_name}_screenshot.png')
37+
38+
return screenshot
39+
40+
41+
# 检测窗口中是否存在“字”
42+
def check_text_in_window(process_name, word):
43+
# 将截图转换为文本
44+
text = pytesseract.image_to_string(capture_window(process_name), lang='chi_sim') # 使用简体中文语言包
45+
if word in text:
46+
print("检测到")
47+
else:
48+
print("未检测")

TextDetector/settings.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Description: This file contains the settings for the project.
2+
# You need to pip install pytesseract, pygetwindow, and pillow.
3+
tesseract_cmd = r'D:\TesseractOCR\tesseract.exe' # Tesseract可执行文件的路径
4+
scale_factor = 2.0 # 系统缩放比例

0 commit comments

Comments
 (0)