#Region base #AutoIt3Wrapper_UseX64=y Opt("MustDeclareVars", 1) #include "emgucv-autoit-bindings\cve_extra.au3" _OpenCV_DLLOpen(_OpenCV_FindDLL()) #EndRegion base ;Image Local $img2 = _cveImreadAndCheck(@ScriptDir & "\Lena.png", $CV_IMREAD_UNCHANGED) _cveCvtColorMat($img2, $img2, $CV_COLOR_RGB2RGBA) Local $tSrc1Size = _cvSize() _cveMatGetSize($img2, $tSrc1Size) Local $cols = $tSrc1Size.width Local $rows = $tSrc1Size.height ;Background ;Local $img1 = _cveImreadAndCheck(@ScriptDir & "\TransparentBG.png", $CV_IMREAD_UNCHANGED) Local $vectorMv = _VectorOfMatCreate() _cveSplitTyped("Mat", $img2, "VectorOfMat", $vectorMv) Local $tPtr = DllStructCreate("ptr value") _VectorOfMatGetItemPtr($vectorMv, 3, $tPtr) Local $img1 = $tPtr.value ;_cveCvtColorMat($img1, $img1, $CV_COLOR_RGB2RGBA) Local $tSrc1SizeBG = _cvSize() _cveMatGetSize($img1, $tSrc1SizeBG) Local $bcols = $tSrc1SizeBG.width Local $brows = $tSrc1SizeBG.height ;Set ROI Local $roi = [int($brows/2)-int($rows/2), int($brows/2)+int($rows/2), int($bcols/2)-int($cols/2), int($bcols/2)+int($cols/2)] ;Local $hierarchyMat = _cveMatCreate() ;Local $hierarchy = _cveOutputArrayFromMat($hierarchyMat) ;Local $H = _cveMatCreate() ;Local $i_arr_H = _cveInputArrayFromMat($H) ;Create mask Local $img2gray = _cveMatCreate() _cveCvtColorMat($img2, $img2gray, $CV_COLOR_RGB2GRAY) Local $mask = _cveMatCreate() _cveThresholdMat($img2gray, $mask, 10, 255, $CV_THRESH_BINARY) Local $mask_inv = _cveMatCreate() Local $Emptymask = _cveMatCreate() _cveBitwiseNotTyped("Mat", $mask, "Mat", $mask_inv, "Mat", $Emptymask) ;Join img and mask Local $img1_bg = _cveMatCreate() _cveBitwiseAndTyped("Mat", $roi, "Mat", $roi, "Mat", $img1_bg, "Mat", $mask_inv) Local $img2_fg = _cveMatCreate() _cveBitwiseAndTyped("Mat", $img2, "Mat", $img2, "Mat", $img2_fg, "Mat", $mask) ;Join images ;Func _cveAddTyped($typeOfSrc1, $src1, $typeOfSrc2, $src2, $typeOfDst, $dst... Local $Result = _cveMatCreate() _cveAddTyped("Mat", $img1_bg, "Mat", $img2_fg, "Mat", $Result) ;View result _cveImshowMat("Result", $Result) _cveWaitKey() _cveDestroyAllWindows()