ahk2_lib icon indicating copy to clipboard operation
ahk2_lib copied to clipboard

2.1. alpah 14的时候 opencv_ahk有个地方出问题

Open six7ths opened this issue 11 months ago • 4 comments

我之前一直用H 2.0.18, 今天看到普通版本升级到了2.0.19,就想试一下H_2.1 alpha14, 认为应该比2.18改了不少问题。

结果就出这个问题了,用H2.0.18没问题;用H2.1 alpha14必出这个问题

#Include "D:\opencv_AHK2\opencv.ahk"

不知道是opencv.ahk的问题,还是2.1 alpha14的问题

Error: invalid index ▶ 483: vm[2].setTo(cv.MAT(1, 1, cv2.CV_8UC3, [0, 0, 0]))

six7ths avatar Jan 26 '25 05:01 six7ths

缺少信息

thqby avatar Jan 26 '25 08:01 thqby

缺少信息

我上面的代码是

bm_buf := bm_buf.cvtBytes(3)
mat := cv.Mat(bm_buf.height, bm_buf.width, cv2.CV_8UC3, bm_buf.Ptr, bm_buf.pitch)

;拆分颜色通道
vm := cv.Vector_Mat()
cv.split(mat, vm)

;红色和绿色通道置零
vm[1].setTo(cv.MAT(1, 1, cv2.CV_8UC3, [0, 0, 0])

six7ths avatar Jan 26 '25 08:01 six7ths

不能重现该问题

thqby avatar Jan 28 '25 14:01 thqby

不能重现该问题

我又试了一下

我升为2.1 alpha 14过程如下: 1、ahk lsp插件 里面interpretor 改为2.1 AutoHotkey64.exe 2、脚本文件里的 #DllLoad "D:\opencv_AHK2\opencv490_ahk2.0.dll" 改为 #DllLoad "D:\opencv_AHK2\opencv490_ahk2.1.dll"

3、直接运行,就会出这个错。

今天发现一个奇怪。居然opencv改了2.1后,居然用ahk2.018可以运行不出错 但是改完2.1 alpha14后,这里必然出这个错。因为我前面判断过bm_buf 不会为"" 所以,我认为是interpretor 改为2.1后出的问题。

等几天我再多试试。

six7ths avatar Jan 30 '25 04:01 six7ths

应该搞定了,跟rapidocr一样,不能传入纯色图片。 我手动加了一层过滤后, 2.1版本就没这个问题了。

不过,2.1好像 不知道为啥 屏幕取坐标好像跟2.0不太一样,有的窗口没有按原设置移到设置的位置。 暂时再观望观望

six7ths avatar Nov 24 '25 00:11 six7ths