OpenCV系列 - 作者:cc 原链接:https://www.cnblogs.com/ff888/p/16783558.html
许多 OpenCV 功能都使用 SSE2,AVX 等进行了优化。它还包含未经优化的代码。因此,如果我们的系统支持这些功能,我们应该利用它们(几乎所有现代处理器都支持它们)。优化功能在编译时是默认启用的,因此,OpenCV 在启用时运行优化代码,否则运行未优化代码。您可以使用cv.useOptimized()来检查它是否已启用/禁用,并使用cv.setUseOptimized()来启用/禁用它。
SetWorkingDir A_ScriptDir hOpencv := DllCall("LoadLibrary", "str", "opencv_world455.dll", "ptr") hOpencvCom := DllCall("LoadLibrary", "str", "autoit_opencv_com455.dll", "ptr") DllCall("autoit_opencv_com455.dll\DllInstall", "int", 1, "wstr", A_IsAdmin = 0 ? "user" : "", "cdecl") cv := ComObject("OpenCV.cv") e1 := cv.getTickCount() ;返回参考事件(如机器开启时刻)到调用此函数的时钟周期数 ;测试打开一张图片所需的时间 img2 := cv.imread("test.png") cv.imshow("Image_2", img2) e2 := cv.getTickCount() time := 1000*(e2 - e1)/cv.getTickFrequency() ;返回时钟周期的频率,或每秒钟的时钟周期数 MsgBox time "毫秒" ;查看是否启用了优化,返回1则为是 s := cv.useOptimized() MsgBox s ;禁用优化 cv.setUseOptimized(ComValue(0xB, 0)) ;这里参数给了一个flase s1 := cv.useOptimized() MsgBox s1
dbgba优化整理OpenCV系列示例打包下载20240513:
天黑版opencv_ahk.dll使用(改变了调用方式,优化速度…)
相关文件:https://wwz.lanzouw.com/iAkK803eaaud
cv2.ahk和log.ahk来自社区群友zzZ…
可以用文件中的天黑版的v2h版ahk运行。
v2H版示例:性能测量和改进技术
#Dllload lib #DllLoad opencv_ahk.dll #include <cv2> #include <log> SetWorkingDir A_ScriptDir ;初始化opencv模块 cv := ObjFromPtr(DllCall('opencv_ahk.dll\opencv_init', 'ptr', DllCall(A_AhkPath '\ahkGetApi', 'ptr'), 'cdecl ptr')) cv.namedWindow("image") cv.moveWindow("image", 100, 100) e1 := cv.getTickCount() img := cv.imread("image/lena.png") cv.imshow("image", img) e2 := cv.getTickCount() time := 1000*(e2 - e1)/cv.getTickFrequency() log.info(time) s := cv.useOptimized() log.info('是否启用优化?' s) cv.setUseOptimized(false) ;这里参数给了一个flase s1 := cv.useOptimized() log.info('是否启用优化?' s1)
有错误请联系我改正!
本系列所有贡献者(AutoHotKey中文社区群友)不分先后:天黑请闭眼,zzZ…,演好自己,僵尸,城西,Tebayaki。
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。
评论(0)