當前位置: 首頁>>代碼示例>>Python>>正文


Python cv2.DFT_SCALE屬性代碼示例

本文整理匯總了Python中cv2.DFT_SCALE屬性的典型用法代碼示例。如果您正苦於以下問題:Python cv2.DFT_SCALE屬性的具體用法?Python cv2.DFT_SCALE怎麽用?Python cv2.DFT_SCALE使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在cv2的用法示例。


在下文中一共展示了cv2.DFT_SCALE屬性的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: update

# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import DFT_SCALE [as 別名]
def update(_):
        ang = np.deg2rad( cv2.getTrackbarPos('angle', win) )
        d = cv2.getTrackbarPos('d', win)
        noise = 10**(-0.1*cv2.getTrackbarPos('SNR (db)', win))

        if defocus:
            psf = defocus_kernel(d)
        else:
            psf = motion_kernel(ang, d)
        cv2.imshow('psf', psf)

        psf /= psf.sum()
        psf_pad = np.zeros_like(img)
        kh, kw = psf.shape
        psf_pad[:kh, :kw] = psf
        PSF = cv2.dft(psf_pad, flags=cv2.DFT_COMPLEX_OUTPUT, nonzeroRows = kh)
        PSF2 = (PSF**2).sum(-1)
        iPSF = PSF / (PSF2 + noise)[...,np.newaxis]
        RES = cv2.mulSpectrums(IMG, iPSF, 0)
        res = cv2.idft(RES, flags=cv2.DFT_SCALE | cv2.DFT_REAL_OUTPUT )
        res = np.roll(res, -kh//2, 0)
        res = np.roll(res, -kw//2, 1)
        cv2.imshow(win, res) 
開發者ID:makelove,項目名稱:OpenCV-Python-Tutorial,代碼行數:25,代碼來源:deconvolution.py

示例2: state_vis

# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import DFT_SCALE [as 別名]
def state_vis(self):
        f = cv2.idft(self.H, flags=cv2.DFT_SCALE | cv2.DFT_REAL_OUTPUT )
        h, w = f.shape
        f = np.roll(f, -h//2, 0)
        f = np.roll(f, -w//2, 1)
        kernel = np.uint8( (f-f.min()) / f.ptp()*255 )
        resp = self.last_resp
        resp = np.uint8(np.clip(resp/resp.max(), 0, 1)*255)
        vis = np.hstack([self.last_img, kernel, resp])
        return vis 
開發者ID:makelove,項目名稱:OpenCV-Python-Tutorial,代碼行數:12,代碼來源:mosse.py

示例3: correlate

# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import DFT_SCALE [as 別名]
def correlate(self, img):
        C = cv2.mulSpectrums(cv2.dft(img, flags=cv2.DFT_COMPLEX_OUTPUT), self.H, 0, conjB=True)
        resp = cv2.idft(C, flags=cv2.DFT_SCALE | cv2.DFT_REAL_OUTPUT)
        h, w = resp.shape
        _, mval, _, (mx, my) = cv2.minMaxLoc(resp)
        side_resp = resp.copy()
        cv2.rectangle(side_resp, (mx-5, my-5), (mx+5, my+5), 0, -1)
        smean, sstd = side_resp.mean(), side_resp.std()
        psr = (mval-smean) / (sstd+eps)
        return resp, (mx-w//2, my-h//2), psr 
開發者ID:makelove,項目名稱:OpenCV-Python-Tutorial,代碼行數:12,代碼來源:mosse.py

示例4: fftd

# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import DFT_SCALE [as 別名]
def fftd(img, backwards=False, byRow=False):
    # shape of img can be (m,n), (m,n,1) or (m,n,2)
    # in my test, fft provided by numpy and scipy are slower than cv2.dft
    # return cv2.dft(np.float32(img), flags=((cv2.DFT_INVERSE | cv2.DFT_SCALE) if backwards else cv2.DFT_COMPLEX_OUTPUT))  # 'flags =' is necessary!
    # DFT_INVERSE: 用一維或二維逆變換取代默認的正向變換,
    # DFT_SCALE: 縮放比例標識符,根據數據元素個數平均求出其縮放結果,如有N個元素,則輸出結果以1/N縮放輸出,常與DFT_INVERSE搭配使用。 
    # DFT_COMPLEX_OUTPUT: 對一維或二維的實數數組進行正向變換,這樣的結果雖然是複數陣列,但擁有複數的共軛對稱性

    if byRow:
        return cv2.dft(np.float32(img), flags=(cv2.DFT_ROWS | cv2.DFT_COMPLEX_OUTPUT))
    else:
        return cv2.dft(np.float32(img), flags=((cv2.DFT_INVERSE | cv2.DFT_SCALE) if backwards else cv2.DFT_COMPLEX_OUTPUT))

# 實部圖像 
開發者ID:ryanfwy,項目名稱:KCF-DSST-py,代碼行數:16,代碼來源:tracker.py

示例5: ifft2

# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import DFT_SCALE [as 別名]
def ifft2(img):
    img = np.float32(img)
    if img.ndim == 3:
        out = cv2.dft(img, flags=cv2.DFT_INVERSE | cv2.DFT_SCALE)
    elif img.ndim == 4:
        out = []
        for c in range(img.shape[2]):
            out.append(cv2.dft(
                img[:, :, c, :], flags=cv2.DFT_INVERSE | cv2.DFT_SCALE))
    else:
        raise Exception('only supports 3 or 4 dimensional array')

    return out 
開發者ID:huanglianghua,項目名稱:open-vot,代碼行數:15,代碼來源:complex.py

示例6: ifft1

# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import DFT_SCALE [as 別名]
def ifft1(img):
    img = np.float32(img)
    if img.ndim == 2:
        img = img[np.newaxis, :, :]
        out = cv2.dft(img, flags=cv2.DFT_ROWS | cv2.DFT_SCALE)
        out = out.squeeze(0)
    elif img.ndim == 3:
        out = cv2.dft(img, flags=cv2.DFT_ROWS | cv2.DFT_SCALE)
    else:
        raise Exception('only supports 2 or 3 dimensional array')

    return out 
開發者ID:huanglianghua,項目名稱:open-vot,代碼行數:14,代碼來源:complex.py

示例7: _linear_correlation

# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import DFT_SCALE [as 別名]
def _linear_correlation(self, img):
        C = cv2.mulSpectrums(
            cv2.dft(img, flags=cv2.DFT_COMPLEX_OUTPUT), self.H, 0, conjB=True)
        resp = cv2.idft(C, flags=cv2.DFT_SCALE | cv2.DFT_REAL_OUTPUT)
        h, w = resp.shape
        _, mval, _, (mx, my) = cv2.minMaxLoc(resp)
        side_resp = resp.copy()
        cv2.rectangle(side_resp, (mx - 5, my - 5), (mx + 5, my + 5), 0, -1)
        smean, sstd = side_resp.mean(), side_resp.std()
        psr = (mval - smean) / (sstd + self.cfg.eps)

        return resp, (mx - w // 2, my - h // 2), psr 
開發者ID:huanglianghua,項目名稱:open-vot,代碼行數:14,代碼來源:mosse.py

示例8: fftd

# 需要導入模塊: import cv2 [as 別名]
# 或者: from cv2 import DFT_SCALE [as 別名]
def fftd(img, backwards=False):	
	# shape of img can be (m,n), (m,n,1) or (m,n,2)	
	# in my test, fft provided by numpy and scipy are slower than cv2.dft
	return cv2.dft(np.float32(img), flags = ((cv2.DFT_INVERSE | cv2.DFT_SCALE) if backwards else cv2.DFT_COMPLEX_OUTPUT))   # 'flags =' is necessary! 
開發者ID:uoip,項目名稱:KCFnb,代碼行數:6,代碼來源:kcftracker.py


注:本文中的cv2.DFT_SCALE屬性示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。