Jump to content

opencv on emulator - (Moved)


Recommended Posts

I want to modify it to search only on the emulator. what do i need to fix

Usually captures both the screen.

 

; #UDF# ============================================== ================================================= ======================
; ชื่อ ..........: OpenCV Match UDF
; คำอธิบาย ...: จับคู่รูปภาพบนหน้าจอเพื่อดำเนินการอัตโนมัติอย่างง่าย
; รุ่น .......: v1.0
; ผู้แต่ง ........: BB_19
; เครดิต ........: @mylise
; ================================================= ================================================= ============================
#include-once
#include <GDIplus.au3>
#include <ScreenCapture.au3>
Global $OpenCV_MatchLogging = False , $OpenCV_ErrorLogging = False, $OpenCV_AutoitConsoleLogging = False
Global $_opencv_core, $_opencv_highgui, $_opencv_imgproc
Global $handle = WinGetHandle("NoxPlayer")
_GDIPlus_Startup()

; #FUNCTION# =============================================== ================================================= ===================
; ชื่อ ..........: _ClickMouse
; คำอธิบาย ...: คำนวณจุดศูนย์กลางของสี่เหลี่ยมจัตุรัสโดยใช้อาร์เรย์ที่มีพิกัด จากนั้นคลิกปุ่มซ้าย/ขวาของเมาส์
; ไวยากรณ์ ........: _ClickMouse($Coordinates, $mouse_button[, $number_of_clicks = 1])
; พารามิเตอร์ ....: $Coordinates - Array ส่งคืนโดย _MatchPicture
; $mouse_button - [ตัวเลือก] สตริง "ซ้ายขวา". ค่าเริ่มต้นคือ "ซ้าย"
; $number_of_clicks - [ตัวเลือก] ค่าตัวเลขทั่วไป ค่าเริ่มต้นคือ 1
; ================================================= ================================================= ============================
Func _ClickMouse($Coordinates, $mouse_button="left", $number_of_clicks = 1)
    MouseUp("")
    BlockInput(1)
    MouseClick($mouse_button, ($Coordinates[0] + $Coordinates[2]) / 2, ($Coordinates[1] + $Coordinates[3]) / 2, $number_of_clicks, 0)
    BlockInput(0) บล็อกอินพุท(1)
EndFunc ;==>_ClickMouse

; #FUNCTION# =============================================== ================================================= ===================
; ชื่อ ..........: _MatchPicture
; คำอธิบาย ...: ค้นหารูปภาพบนหน้าจอหรือบนพื้นที่เฉพาะของหน้าจอและส่งคืนพิกัดที่พบรูปภาพนั้น
; ไวยากรณ์ ........: _MatchPicture($Match_Pic[, $Threshold = 0.9[, $CustomCords = False[, $LoopCount = 1[, $LoopWait = 2000]]])
; Parameters ....: $Match_Pic - พาธไปยังรูปภาพที่จะจับคู่
; $Threshold - [ตัวเลือก] เกณฑ์ 0.1-1.0 ยิ่งสูง ยิ่งต้องจับคู่ภาพให้แม่นยำมากขึ้นเท่านั้นจึงจะเข้าคู่กันได้ ค่าเริ่มต้นคือ 0.9
; $CustomCords - [ตัวเลือก] อาร์เรย์ที่มีพิกัดสำหรับ rect x1,y1,x2,y2 ที่สามารถใช้ในการค้นหาในพื้นที่เฉพาะของหน้าจอ สามารถสร้างได้โดยใช้ Snapshot-Tool ที่ให้มา ค่าเริ่มต้นเป็นเท็จ
; $LoopCount - [ตัวเลือก] จำนวนครั้งที่สคริปต์จะตรวจสอบอีกครั้งว่าสามารถพบรูปภาพที่ตรงกันบนหน้าจอหรือไม่ ค่าเริ่มต้นคือ 1
; $LoopWait - [ตัวเลือก] เวลารอในหน่วยมิลลิวินาทีระหว่างการลองแต่ละครั้ง ค่าเริ่มต้นคือ 2000 มิลลิวินาที
; ส่งคืนค่า .: อาร์เรย์ที่มีพิกัด (x1,y1,x2,y2) ของการจับคู่หรือ @error หากไม่พบรายการที่ตรงกัน
; ผู้แต่ง ........: BB_19
; ที่เกี่ยวข้อง .......: https://www.autoitscript.com/forum/topic/160732-opencv-udf/
; เครดิต .....: @mylise
; ================================================= ================================================= ============================
Func _MatchPicture($Match_Pic, $Threshold = 0.9, $CustomCords = False, $LoopCount = 1, $LoopWait = 2000)
    ถ้าไม่ใช่ FileExists($Match_Pic) แล้ว
        _Internal_ErrorLogger("ไม่พบรูปภาพที่ตรงกัน: " & $Match_Pic)
        ส่งคืน SetError(1)
    EndIf
    หาก $LoopCount <= 0 แล้ว
        ConsoleWrite("ข้อผิดพลาด: $LoopCount Variable ตั้งค่าเป็น 0 ที่ ต้องการอย่างน้อย 1 รายการ")
        ส่งคืน SetError(1)
    EndIf
    Local $hBitmap

    ;ตัวนับประสิทธิภาพ
    Local $Perf = TimerInit()
    ;โหลดการจับคู่รูปภาพ
    ในเครื่อง $hMatch_Pic = _cvLoadImage($Match_Pic)
    Local $hMatch_Size = _cvGetSize($hMatch_Pic)
    Local $width2 = DllStructGetData($hMatch_Size $he2Struct
    Local ) ($hMatch_Size, "height")
    ในเครื่อง $ScreenSize = _ScreenSize()

    สำหรับ $iTries = 1 ถึง $LoopCount Step +1
        ;Capature Screen / Load as Main image
        ถ้าไม่ IsArray($CustomCords) แล้ว

            $hBitmap = _ScreenCapture_Capture("", 0, 0, $ScreenSize[0], $ScreenSize[1], False)
        อื่น ๆ
            $hBitmap = _ScreenCapture_Capture("", $CustomCords[0], $CustomCords[1], $CustomCords[ 2], $CustomCords[3], เท็จ)
        EndIf
        Local $Bitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap)

        Local $hMain_Pic = _Opencv_BMP2IPL($Bitmap)
        Local $hMain_Size = _cvGetSize($hMain_Pic)
        Local $width = DllStructGetData($hMain_Size, "width") Local         $
        height = DllStructGetData($hMain_Size $ Local "
- $width2 + 1
        Local $rh = $height - $height2 + 1
        Local $tmaxloc = DllStructCreate( "int x;" & "int y;")
        Local $tminloc = DllStructCreate( "int x;" & "int y; ")
        Local $tmaxval = DllStructCreate("double max;")
        $tminval ท้องถิ่น = DllStructCreate("double min;")
        ท้องถิ่น $pmaxloc = DllStructGetPtr($tmaxloc)
        ท้องถิ่น $pminloc = DllStructGetPtr($tminloc)
        ท้องถิ่น $pmaxval = DllStructGetPtr($tmaxval)
        ท้องถิ่น $pminval = DllStructGetPtr($tminval)

        ;ค้นหาการจับคู่
        ในพื้นที่ $presult = _cvCreateMat($rh, $rw, 5)
        _cvMatchTemplate($hMain_Pic, $hMatch_Pic, $presult, 5)
        _cvThreshold($presult, $presult, $Threshold, 1, 0)
        _cvpresultMaxLoc , $pminval, $pmaxval, $pminloc, $pmaxloc, Null)

        ;ตั้งค่าพิกัด
        ท้องถิ่น $Coordinates[4]
        ถ้า IsArray($CustomCords) จากนั้น
            $Coordinates[0] = DllStructGetData($tmaxloc, "x") + $CustomCords[0] ; x
            $Coordinates[1] = DllStructGetData($tmaxloc, "y") + $CustomCords[1] ; y
            $Coordinates[2] = DllStructGetData($tmaxloc, "x") + $width2 + $CustomCords[0] ;x2
            $Coordinates[3] = DllStructGetData($tmaxloc, "y") + $height2 + $CustomCords[1] พิกัด ] ;y2
        อื่น ๆ
            $Coordinates[0] = DllStructGetData($tmaxloc, "x"); x
            $Coordinates[1] = DllStructGetData($tmaxloc, "y"); y
            $พิกัด[2] = DllStructGetData($tmaxloc, "x") + $width2 ;x2
            $พิกัด[3] = DllStructGetData($tmaxloc, "y") + $height2 ;y2
        EndIf

        ;ปล่อยทรัพยากร
        _cvReleaseMat($presult)
        _cvReleaseImage($hMain_Pic)
        _GDIPlus_BitmapDispose($Bitmap)
        _WinAPI_DeleteObject($hBitmap)

        ตรวจสอบว่าพบ
        หรือไม่ ถ้าไม่พบ (DllStructGetData($tmaxloc, "x") = 0 และ DllStructGetData($tmaxloc, "y") = 0 And $width2 = DllStructGetData($tmaxloc, "x") + $width2 And $height2 = DllStructGetData($tmaxloc, "y") + $height2) จากนั้น
            _cvReleaseImage($hMatch_Pic)
            _Internal_MatchLogger("พบการจับคู่ที่: " & $Coordinates[0] & "|" & $Coordinates[1] & "|" & $Coordinates [2] & "|" & $Coordinates[3] & " // ตัวนับลูป: " & $iTries & " // เกณฑ์: " & $Threshold & " // เวลาตรวจสอบทั้งหมด: " & Round(TimerDiff($Perf) ), 0) & "มิลลิวินาที")
            ส่งคืนพิกัด $
        EndIf
        Sleep($LoopWait)
    ถัดไป
    _cvReleaseImage($hMatch_Pic)
    _Internal_ErrorLogger("ไม่พบรายการที่ตรงกัน ตัวนับลูป: " & $LoopCount & ". // เวลาตรวจสอบทั้งหมด: " & Round(TimerDiff($Perf), 0) & " ms // เวลารอต่อลูป: " & $LoopWait & " ms. // Threshold: " & $Threshold & " // Match Image: " & $Match_Pic)
    Return SetError(2)

EndFunc ;==>_MatchPicture

; #FUNCTION# =============================================== ================================================= ===================
; ชื่อ ..........: _OpenCV_EnableLogging
; คำอธิบาย ...: เปิดใช้งานการบันทึกการแข่งขันและข้อผิดพลาดในไฟล์และคอนโซล
; ไวยากรณ์ ........: _OpenCV_EnableLogging([$MatchLogging = True[, $ErrorLogging = False[, $AutoitConsoleLogging = False]])
; พารามิเตอร์ ....: $MatchLogging - [ทางเลือก] บันทึกการแข่งขันทั้งหมดในไฟล์ที่มีพิกัดและรายละเอียดอื่นๆ ค่าเริ่มต้นคือ จริง
; $ErrorLogging - [ตัวเลือก] บันทึกข้อผิดพลาดทั้งหมดรวมถึงการจับคู่ที่ล้มเหลวในไฟล์ ค่าเริ่มต้นเป็นเท็จ
; $AutoitConsoleLogging - [ตัวเลือก] แสดงผลการแข่งขัน ข้อผิดพลาด และการจับคู่ที่ล้มเหลวทั้งหมดบนคอนโซล Autoit ค่าเริ่มต้นเป็นเท็จ
; ================================================= ================================================= ============================
Func _OpenCV_EnableLogging($MatchLogging = True, $ErrorLogging = False, $AutoitConsoleLogging = False)
    $OpenCV_MatchLogging = $MatchLogging
    $OpenCV_ErrorLogging = $ErrorLogging
    $OpenCV_AutoitConsoleLogging = $AutoitConsoleLogging
EndFunc ;==>_OpenCV_EnableLogging


; #FUNCTION# =============================================== ================================================= ===================
; ชื่อ ..........: _MarkMatch
; คำอธิบาย ...: วาดเส้นตรงที่ตำแหน่งของการแข่งขันเพื่อระบุตำแหน่งที่พบการแข่งขันบนหน้าจอ
; ไวยากรณ์ ........: _MarkMatch($พิกัด[, $iColor = 0x0000FF])
; พารามิเตอร์ ....: $Coordinates - Array ส่งคืนโดย _MatchPicture
; $iColor - [ตัวเลือก] ค่าจำนวนเต็ม ค่าเริ่มต้นคือ 0x0000FF
; หมายเหตุ ................: เครื่องหมายไม่สามารถมองเห็นได้เป็นเวลานาน
; ผู้แต่ง ........: มัลกี้
; แก้ไขแล้ว .....: BB_19
; ================================================= ================================================= ============================
Func _MarkMatch($Coordinates, $iColor = 0x0000FF)
    Local $start_x = $Coordinates[0], $start_y = $Coordinates[1], $iWidth = $Coordinates[2], $iHeight = $Coordinates[3]
    ในพื้นที่ $hDC = _WinAPI_GetWindowDC(0) ; DC ของหน้าจอทั้งหมด (เดสก์ท็อป)
    Local $tRect = DllStructCreate($tagRECT)
    DllStructSetData($tRect, 1, $start_x)
    DllStructSetData($tRect, 2, $start_y)
    DllStructSetData($tRect, 3, $iWidth)
    Dll$tRctData , 4, $iHeight)
    $hBrush ในพื้นที่ = _WinAPI_CreateSolidBrush($iColor)
    _WinAPI_FrameRect($hDC, DllStructGetPtr($tRect), $hBrush)
    _WinAPI_DeleteObject($hBrush)
    _WinAPI_ReleaseDC(0, $
hDC) EndFunc ;==>_MarkMatch


; #FUNCTION# =============================================== ================================================= ===================
; ชื่อ ..........: _ScreenSize
; คำอธิบาย ...: ส่งคืนค่าความกว้าง + ความสูงทั้งหมดที่จำเป็นในการสร้างสแน็ปช็อตของจอแสดงผลทั้งหมดในคราวเดียว
; ไวยากรณ์ ........: _ScreenSize()
; ส่งกลับค่า .: Array ด้วย [0]=Width, [1]=Height
; ผู้แต่ง ........: BB_19
; ================================================= ================================================= ============================
Func _ScreenSize() ;คืนค่าความกว้าง+ความสูงของจอภาพทั้งหมด
    ในพื้นที่ $MonSizePos[2], $MonNumb = 1
    $MonSizePos[0] = @DesktopWidth
    $MonSizePos[1] = @DesktopHeight
    ;รับจอภาพ
    Local $aPos, $MonList = _WinAPI_EnumDisplayMonitors()
    ถ้า @error จากนั้นคืนค่า $MonSizePos
    หาก IsArray($MonList) จากนั้น
        ReDim $MonList[$MonList[0][0] + 1][5]
        สำหรับ $i = 1 ถึง $MonList [0][0]
            $aPos = _WinAPI_GetPosFromRect($MonList[$i][1])
            สำหรับ $j = 0 ถึง 3
                $MonList[$i][$j + 1] = $aPos[$j]
            Next
            Local $ width = $MonList[$i][1] + $MonList[$i][3]
            Local $height = ($MonList[$i][2] + $MonList[$i][4])
            ถ้า $MonSizePos[ 0] < ($width) จากนั้น $MonSizePos[0] = $width
            ถ้า $MonSizePos[1] < ($height) จากนั้น $MonSizePos[1] = $height
        Next
    EndIf
    ส่งคืน $MonSizePos
EndFunc ;==>_ScreenSize


Func _Internal_MatchLogger($Message)
    Local $Timestamp = @YEAR & "/" & @MON & "/" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & " - "
    ถ้า $OpenCV_AutoitConsoleLogging แล้ว ConsoleWrite($Timestamp & $Message & @CRLF)
    ถ้า $OpenCV_MatchLogging จากนั้น
        ในเครื่อง $MatchLogFile = FileOpen(@ScriptDir & "\OpenCV_Match.log", 1)
        FileWrite($MatchLogFile, $Timestamp & $Message & @CRLF )
        FileClose($MatchLogFile)
    EndIf
EndFunc ;==>_Internal_MatchLogger

Func _Internal_ErrorLogger($ข้อความ)

    Local $Timestamp = @YEAR & "/" & @MON & "/" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & " - "
    ถ้า $OpenCV_AutoitConsoleLogging แล้ว ConsoleWrite( $Timestamp & $Message & @CRLF)
    ถ้า $OpenCV_ErrorLogging จากนั้น
        $ErrorLogFile ในเครื่อง = FileOpen(@ScriptDir & "\OpenCV_Error.log", 1)
        FileWrite($ErrorLogFile, $Timestamp & $Message & @CRLF)
        FileClose($ErrorLogFile)
    EndIf
EndFunc ;==>_Internal_ErrorLogger


;ฟังก์ชั่น OpenCV ที่สร้างโดย mylise, https://www.autoitscript.com/forum/topic/160732-opencv-udf/

Func _Opencv_BMP2IPL($pBmpImage)
    Local $iW = _GDIPlus_ImageGetWidth($pBmpImage), $iH = _GDIPlus_ImageGetHeight($pBmpImage)
    Local $tBitmapData = _GDIPlus_BitmapLockBits($pBmpImage, 0, $iPILMX)

    ท้องถิ่น $pIPL = _cvCreateImageHeader(_cvSize($iW, $iH), 8, 4)

    _cvSetData($pIPL, DllStructGetData($tBitmapData, "scan0"), DllStructGetData($tBitmapData, "stride"))

    $pIplDst ในเครื่อง = _cvCloneImage($pIPL)
    _cvReleaseImageHeader($pIPL)

    _GDIPlus_BitmapUnlockBits($pBmpImage, $tBitmapData)
    ท้องถิ่น $pIplDst2 = _cvCreateImage(_cvSize($iW, $iH), 8, 3)

    _cvCvtColor($pIplDst, $pIplDst2, 1)
    _cvReleaseImage($pIplDst)

    ส่งคืน $pIplDst2
EndFunc ;==>_Opencv_BMP2IPL

Func _cvCvtColor($cvsrc, $cvdst, $cvcode)
    DllCall($_opencv_imgproc, "none:cdecl", "cvCvtColor", "ptr", $cvsrc, "ptr", $cvdst, "int", $cvcode)
    ถ้า @ error จากนั้น ConsoleWrite("ข้อผิดพลาดใน cvCvtColor")
    ส่งคืน
EndFunc ;==>_cvCvtColor

Func _cvCreateImage($cvsize, $cvdepth, $cvchannels)
    Local $_aResult = DllCall($_opencv_core, "ptr:cdecl", "cvCreateImage", "struct", $cvsize, "int", $cvdepth, "int", $ cvchannels)
    หาก @error แล้ว ConsoleWrite ("ข้อผิดพลาดใน cvCreateImage")
    ส่งคืน $_aResult[0]
EndFunc ;==>_cvCreateImage

Func _cvReleaseImageHeader($cvimage)
    DllCall($_opencv_core, "none:cdecl", "cvReleaseImageHeader", "ptr*", $cvimage)
    หาก @error จากนั้น ConsoleWrite ("ข้อผิดพลาดใน cvReleaseImageHeader")
    ส่งคืน
EndImage;==>_cvReleaseHeader

Func _cvCloneImage($cvimage)
    Local $_aResult = DllCall($_opencv_core, "ptr:cdecl", "cvCloneImage", "ptr", $cvimage)
    ถ้า @error จากนั้น ConsoleWrite ("ข้อผิดพลาดใน cvCloneImage")
    ส่งคืน $_aResult[0]
EndFunc ;==>_cvCloneImage

Func _cvSetData($cvarr, $cvdata, $cvstep)
    DllCall($_opencv_core, "none:cdecl", "cvSetData", "ptr", $cvarr, "ptr", $cvdata, "int", $cvstep)
    ถ้า @ error จากนั้น ConsoleWrite("ข้อผิดพลาดใน cvSetData")
    ส่งคืน
EndFunc ;==>_cvSetData

Func _cvSize($width, $height)
    Local $vSize = DllStructCreate("int width;" & "int height;")
    DllStructSetData($vSize, "width", $width)
    DllStructSetData($vSize, "height", $height )
    คืนค่า $vSize
EndFunc ;==>_cvSize

Func _cvCreateImageHeader($cvsize, $cvdepth, $cvchannels)
    Local $_aResult = DllCall($_opencv_core, "ptr:cdecl", "cvCreateImageHeader", "struct", $cvsize, "int", $cvdepth, "int", $ cvchannels)
    หาก @error แล้ว ConsoleWrite ("ข้อผิดพลาดใน cvCreateImageHeader")
    ส่งคืน $_aResult[0]
EndFunc ;==>_cvCreateImageHeader

Func _cvMinMaxLoc($cvarr, $cvmin_val, $cvmax_val, $cvmin_loc, $cvmax_loc, $cvmask = "")
    DllCall($_opencv_core, "none:cdecl", "cvMinMaxLoc", "ptr", $cvarr, "ptr" $cvmin_val, "ptr", $cvmax_val, "ptr", $cvmin_loc, "ptr", $cvmax_loc, "ptr", $cvmask)
    ถ้า @error แล้ว ConsoleWrite("error in cvMinMaxLoc") ให้
    คืน
ค่า EndFunc ;==>_cvMinMaxLoc

Func _cvMatchTemplate($cvimage, $cvtempl, $cvresult, $cvmethod)
    DllCall($_opencv_imgproc, "none:cdecl", "cvMatchTemplate", "ptr", $cvimage, "ptr", $cvtempl, "cvresult", $cvresult , "int", $cvmethod)
    หาก @error แล้ว ConsoleWrite ("ข้อผิดพลาดใน cvMatchTemplate")
    ส่งคืน
EndFunc ;==>_cvMatchTemplate

Func _cvThreshold($cvsrc, $cvdst, $cvthreshold, $cvmax_value, $cvthreshold_type)
    Local $_aResult = DllCall($_opencv_imgproc, "double:cdecl", "cvThreshold", "ptr", $cvs, $c, "ptr" , "double", $cvthreshold, "double", $cvmax_value, "int", $cvthreshold_type)
    หาก @error แล้ว ConsoleWrite("error in cvThreshold")
    ส่งคืน
EndFunc ;==>_cvThreshold

Func _cvCreateMat($cvrows, $cvcols, $cvtype)
    Local $_aResult = DllCall($_opencv_core, "ptr:cdecl", "cvCreateMat", "int", $cvrows, "int", $cvcols, "int", $ cvtype)
    หาก @error แล้ว ConsoleWrite ("ข้อผิดพลาดใน cvCreateMat")
    ส่งคืน $_aResult[0]
EndFunc ;==>_cvCreateMat

Func _cvGetSize($pimage)
    Local $_aResult = DllCall($_opencv_core, "int64:cdecl", "cvGetSize", "ptr", $pimage)
    ถ้า @error แล้ว ConsoleWrite("error csize image ")
    Local $width = BitAND( 0xFFFFFFFF, $_aResult[0])
    Local $height = Int($_aResult[0] / 2 ^ 32)
    Local $vSize = DllStructCreate("int width;" & "int height;")
    DllStructSetData($vSize, "width" , $width)
    DllStructSetData($vSize, "height", $height)
    คืนค่า $vSize
EndFunc ;==>_cvGetSize

Func _cvReleaseMat($cvmat)
    DllCall($_opencv_core, "none:cdecl", "cvReleaseMat", "ptr*", $cvmat)
    หาก @error จากนั้น ConsoleWrite ("ข้อผิดพลาดใน cvReleaseMat")
    ส่งคืน
EndFunc ;==>_cvReleaseMat

Func _cvReleaseImage($pimage)
    DllCall($_opencv_core, "none:cdecl", "cvReleaseImage", "ptr*", $pimage)
    ถ้า @error แล้ว ConsoleWrite ("ข้อผิดพลาดของอิมเมจรีลีส")
EndFunc ;==>_cvReleaseImage

Func _cvLoadImage($filename, $iscolor = 1)
    ถ้า $filename = "" จากนั้น Return SetError(1)
    $_aResult = DllCall($_opencv_highgui, "int:cdecl", "cvLoadImage", "str", $filename, "int ", $iscolor)
    ถ้า @error แล้วก็ ConsoleWrite("ไฟล์ไม่โหลด")
    ถ้าไม่ใช่ IsArray($_aResult) จากนั้น
        MsgBox(16, "Error", "Failed loading DLLs.")
        _OpenCV_Shutdown()
        ออกจาก
    EndIf
    Return $_aResult[0 ]
EndFunc ;==>_cvLoadImage

Func _OpenCV_Shutdown()
    DllClose($_opencv_core)
    DllClose($_opencv_highgui)
    DllClose($_opencv_imgproc)
    _GDIPlus_Shutdown()
EndFunc ;==>_OpenCV_Shutdown

Func _OpenCV_Startup()
    $_opencv_core = DllOpen("DLLs\opencv_core2413.dll")
    $_opencv_highgui = DllOpen("DLLs\opencv_highgui2413.dll")
    $_opencv_imgproc = DllOpen("DLLs\opencv_img"
Proc2413.dll) = เปิด

Link to post
Share on other sites
  • Developers

Moved to the appropriate AutoIt General Help and Support forum, as the Developer General Discussion forum very clearly states:

Quote

General development and scripting discussions.


Do not create AutoIt-related topics here, use the AutoIt General Help and Support or AutoIt Technical Discussion forums.

Moderation Team

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...