Commit Graph

43 Commits

Author SHA1 Message Date
Takaranoao
ee5e754346 chore: update OpenCvSharp4 package versions to 4.11.0.20250507 (#1991) 2025-08-03 13:07:17 +08:00
辉鸭蛋
57914bb661 强制指定包版本,解决Rider项目标红的问题 2025-05-31 23:55:14 +08:00
Shatyuka
8b6548fb40 修复Win10下WGC截图COM错误 (#1601) 2025-05-16 10:02:42 +08:00
Shatyuka
8cb6641c1e sRGB变换曲线优化 (#1585)
改为更精确的近似,多项式性能也会比pow好
2025-05-13 10:01:58 +08:00
Shatyuka
66afbc83ae 截图优化 (#1573)
* 截图优化

* 窗口选择排除WS_EX_LAYERED

云原神

* 优化原神窗口判断
2025-05-12 22:39:02 +08:00
Shatyuka
0bea2d095a 截图优化 (#1480)
* BitBlt 优化

* BitBlt恢复Top-down

* 渲染时翻转图像

* CaptureSession引用计数

* 恢复成无拷贝Mat

* 合法性检查

* 优化截图预览窗口

* 保存截图文件必要时需要克隆一份Mat

* BitBlt内存池

* 返回拷贝就不用对Session做引用计数了

* 移除CaptureImageRes

* 优化DirectX

* 更好地处理padding

* BitBlt去掉padding

1920*1080的游戏窗口是4字节对齐的,因此不会有性能影响。这里主要用于测试。

* 修复修改窗口大小

* 合并CreateStagingTexture

* 修复设备丢失崩溃

* WGC截图支持HDR

* fix typo

* CodeQA

* 去掉1px窗口边框

* DirectX截图去掉A通道

* HDR转换使用GPU加速

---------

Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
2025-05-11 01:17:18 +08:00
Takaranoao
5b3bac478d 升级多个依赖&增加额外的推理加速功能&迁移OCR (#1459)
* 更新多个NuGet包至最新版本

* 重构模型加载以适应yolosharp

* feat: 改变接口。TensorRT缓存的初步支持,修改配置项。

* 更新依赖并调整变量顺序,修复加载问题

* 更新AvalonEdit和Microsoft.ML.OnnxRuntime包至最新版本,以修复问题

* fix: downgrade Microsoft.ML.OnnxRuntime.DirectML to version 1.21.0

* typo

* fix: change log level from warning to error for ONNX provider loading failure

* 增加 paddle ocr 的 onnx 模型

* feat: add PaddleOCR models for Chinese, English, and Latin recognition

* 使用cv的DNN生成Tensor,加速Yap文字识别

* feat: 尝试搓一个onnx的ocr

* clean up code

* chore: update OpenCvSharp4 package versions to 4.10.0.20241108

* 修复因格式化代码而丢的引用

* chore: update Microsoft.ML.OnnxRuntime.DirectML package to version 1.21.1 and improve logging for ONNX provider initialization

* chore: 等yolosharp更新再升级onnx

* chore: add Microsoft.ML.OnnxRuntime.Managed package and clean up logging in Det class

* fix: refactor output tensor handling in Det class for improved clarity

* 补充注释,修复DML的OCR问题

* 默认OCR推理使用CPU,整理配置

* fix error NETSDK1152: 找到了多个具有相同相对路径的发布输出文件

* fix(logging): enhance debug log for ONNX initialization with provider details

* 修复TensorRT模型缓存的加载问题

* fix(onnx): improve cached model retrieval and add file existence check

* fix(ocr): replace SrcGreyMat with SrcMat for region of interest processing

* fix(onnx): add file existence check for cached model and adjust session options for DirectML provider

* 增加硬件加速配置UI界面

* 移除旧的OCR模型

* 错别字

---------

Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
2025-05-11 01:08:37 +08:00
辉鸭蛋
be13b9a089 删除 BitBlt 稳定版(实际也不稳定) 2025-04-15 01:45:48 +08:00
Takaranoao
066aa81d65 让 bitblt 极速 使用GDI+ 生成 Bitmap 而不是 使用OpenCvSharp 生成 Mat (#1441)
* 让 bitblt 极速 使用GDI+ 生成 Bitmap 而不是 使用OpenCvSharp 生成 Mat

* typo
2025-04-14 22:11:24 +08:00
辉鸭蛋
9f3915d748 默认使用旧版截图器 2025-04-11 00:18:32 +08:00
辉鸭蛋
1df15bb83c 提供老版本的稳定 BitBlt 功能 2025-04-11 00:11:42 +08:00
辉鸭蛋
636ef3f71a 删除无用的释放内容,修复wgc关闭时候报错 #1419 2025-04-10 00:46:13 +08:00
Takaranoao
1d17d7f12c 加了一堆爆炸时候的判断,希望能抵挡住汹涌的bug (#1415) 2025-04-08 00:52:25 +08:00
Takaranoao
e9f0294286 优化BitBlt截图逻辑,增加失败重试机制以提高截图成功率 (#1407)
* 优化BitBlt截图逻辑,增加失败重试机制以提高截图成功率

* 增加Capture0方法的XML注释,明确其用途和调用要求
2025-04-06 12:36:02 +08:00
Takaranoao
9af7575d2b bitblt 还能更快 (#1395)
* Bitblt:GDI直接返回转换后的位图,不再由CV二次转换

* update documentation for clarity

* typo
2025-04-03 21:28:13 +08:00
辉鸭蛋
b0ec7eadd6 fix _frameTimer not start 2025-04-03 02:06:13 +08:00
Takaranoao
8951cc1adc bitblt截图修改:复用缓冲区以减少每次截图时的内存分配 (#1387)
* Refactor BitBltCapture and add BitBltSession for improved thread safety and resource management

* 删掉无用的锁

* Fix session invalidation handling in BitBltCapture and add IsInvalid method to BitBltSession

* Refactor resource release logic in BitBltSession to ensure proper order of operations

* Refactor IsInvalid method and clean up resource release logic in BitBltSession

* 析构函数加满

* 截图失败的时候重置会话避免卡死,改善锁的范围

* Use static Console for error logging in BitBltCapture

* Improve error logging format in BitBltCapture for session creation failure
2025-04-03 01:46:20 +08:00
FishmanTheMurloc
057efe78a9 静态化SharpDX.Direct3D11.Device的实例、恢复GraphicsCapture.cs的Stop方法中被注释的清理frame的代码,以期降低WGC反复启停的时观察到的内存泄漏;WGC方法传入的截图似乎是4通道的,paddle吃不进,故做4转3处理 (#1386) 2025-04-02 21:39:56 +08:00
Takaranoao
0fb59b19ef 更新OpenCvSharp4相关包版本到4.10.0.20240616(据说这样OCR不容易爆炸) (#1388) 2025-04-02 20:37:50 +08:00
辉鸭蛋
ca3deb42cc 优化帧率控制,使用更精确的计时器 2025-04-02 01:10:02 +08:00
Takaranoao
cbaf1f6c36 更新OpenCvSharp4版本到4.10.0,PaddleOCR到2.7.0.3,尝试修复bitblt导致崩溃的问题 (#1381) 2025-04-01 14:47:13 +08:00
辉鸭蛋
9bfdfd041e 一些优化
1. 一条龙未选择要刷的秘境时,直接提示
2. 修复独立任务运行时,实时任务仍在运行的问题
2025-03-23 22:04:43 +08:00
辉鸭蛋
e1bd3393b8 WGC 去掉HDR处理,增加处理帧率限制 2025-03-15 19:54:53 +08:00
辉鸭蛋
807288ab90 重构底层截图器,大幅提升截图器耗时 (#1302)
* to mat init

* BitBlt 加锁

* 使用读写锁重构 Windows.Graphics.Capture,删除BGI自己命名的缓存设置

* dwm加锁并返回mat

* 队伍中没有对应元素角色修复日志问题

* 清除所有 DispatcherTimerOperationEnum 内容

* 修复单测的编译错误

* HDR Support

* 清理无用的截图器模式
2025-03-15 13:18:19 +08:00
masm611
1ceb991c1b 修正windows10_1909版本WGC故障
windows10_1909版本的WGC不支持IsCursorCaptureEnabled,加了个动态判断防止异常与抓屏失败等。
但是这样就有可能会抓到光标导致图像识别失败,但是个人认为瘦死的骆驼比马大,没有这个api就不调用即可,好歹还能用一下
如果有必要,后面可以考虑加一个弹窗警告一下啥的,但是这样可能会让用户糟心,总不能逼人家换个系统吧?但是不弹窗呢又好像向用户隐藏了某些可能存在的错误,好像又不太对啥的。
只能说云原神的限制还是大了一点,要不要加弹窗我无法决策,还是由大佬来吧
2025-01-05 12:53:03 +08:00
辉鸭蛋
dcd7831368 auto fix win11 bitblt 2024-11-02 12:57:58 +08:00
辉鸭蛋
228d50bb5d Revert "feat: 优化autopath MoveTo逻辑"
This reverts commit 504f853893.
2024-10-13 21:09:41 +08:00
gqzcl
504f853893 feat: 优化autopath MoveTo逻辑 2024-10-05 14:04:20 +08:00
qhy040404
c490d29aa1 code cleanup 2024-08-14 18:01:02 +08:00
辉鸭蛋
347e42bab9 update dependency library version 2024-07-01 00:51:28 +08:00
辉鸭蛋
7d498f2c35 update to .net8 2024-07-01 00:22:36 +08:00
辉鸭蛋
0d74e9701e add dinput test 2024-06-24 02:20:43 +08:00
huiyadanli
f9e9be6d9d add WindowsGraphicsCapture cache option 2024-02-23 22:55:31 +08:00
huiyadanli
9d6d621b75 revert wgc 2024-02-14 15:46:48 +08:00
huiyadanli
c1018bf3fd add manually pick window hwnd 2024-02-07 22:29:20 +08:00
huiyadanli
d67e5e5635 optimize Windows.Graphics.Capture 2024-02-07 22:10:43 +08:00
ema
b58be043f5 syntax: C# 12.0 2023-12-05 00:40:38 +08:00
huiyadanli
edb9a2ec67 add PaddleOcr 2023-10-31 22:29:42 +08:00
huiyadanli
bfca926c07 AutoGeniusInvokation: add hotkey 2023-10-22 15:28:38 +08:00
huiyadanli
c2e46dc32b fix wgc not work in early win10 version 2023-10-10 22:33:58 +08:00
huiyadanli
c27ea845eb interface modification and logic optimization 2023-10-08 23:56:41 +08:00
huiyadanli
ab533030c3 compatible with full screen 2023-10-08 00:22:01 +08:00
huiyadanli
1fc0301551 refactor Fischless.WindowCapture & add DwmSharedSurface capture 2023-10-07 23:26:56 +08:00