<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      optical strain(python)

      利用python opencv計算optical strain

      import cv2
      import numpy as np
      
      class OptFlowStrain:
          def __init__(self):
              self.TVL1 = cv2.optflow.DualTVL1OpticalFlow_create()
      
          def run(self, img0, img1):
              return self.cal_opt_flow(img0, img1)
      
          def get_opt_res(self):
              return
      
          def get_translation_matrix(self, nx, ny):
              M = np.float32([[1, 0, nx], [0, 1, ny]])
              return M
      
          def translation(self, src, nx, ny):
              h, w = src.shape
              # print('h: {}, w: {}'.format(h,w))
              M = self.get_translation_matrix(nx, ny)
              dst = cv2.warpAffine(src, M, (w,h))
              return dst
      
          def split_opt_flow(self, flow):
              xy0, xy1 = flow[:, :, 0], flow[:, :, 1]
              # cv2.cartToPolar()
              mag, ang = cv2.cartToPolar(xy0, xy1)#, angleInDegrees=True
              u, v = cv2.polarToCart(mag, ang)
      
              px = self.translation(u, -1, 0)
              py = self.translation(u, 0, 0-1)
              ux = u-px
              uy = u-py
      
              qx = self.translation(v,-1,0)
              qy = self.translation(v,0,-1)
              vx = v-qx
              vy = v-qy
      
              temp = cv2.add(uy, vx)
              os = np.multiply(ux, ux) + np.multiply(vy, vy) + 0.5*np.multiply(temp, temp)
              return u, v, cv2.sqrt(os)
      
          def cv32fc1_to_cv_8uc1(self, source):
              assert source.dtype == np.float32
              source.astype(np.uint8)
              source *= 255
              return source
      
          def cal_opt_flow(self, img0, img1):
              assert img0.dtype == np.uint8
              assert img1.dtype == np.uint8
              assert img0.shape == img1.shape
      
              flow = self.TVL1.calc(img0, img1, None)
      
              u,v,s = self.split_opt_flow(flow)
      
              u = self.cv32fc1_to_cv_8uc1(u)
              v = self.cv32fc1_to_cv_8uc1(v)
              s = self.cv32fc1_to_cv_8uc1(s)
      
              # cv2.imwrite('u.jpg', u)
              # cv2.imwrite('v.jpg', v)
              # cv2.imwrite('s.jpg', s)
      
              return u, v, s
      
      posted @ 2024-01-05 18:06  快樂碼小農  閱讀(32)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 四虎www永久在线精品| 国产精品一区二区中文| 婷婷色综合视频在线观看| 少妇激情av一区二区三区| 久久精品国产一区二区三| 国产福利精品一区二区 | 91精品国产福利尤物免费| 亚洲精品男男一区二区| 亚洲乱亚洲乱妇50p| 午夜成人无码免费看网站| 日本激情久久精品人妻热| 久久中文字幕无码一区二区| 蜜臀av久久国产午夜福利软件| 国产极品粉嫩尤物一线天| 4hu四虎永久在线观看| 一区二区三区国产不卡| 精品午夜福利在线视在亚洲| 国产乱xxxxx97国语对白| 视频一区二区三区四区五区 | 狠狠五月深爱婷婷网| 翘臀少妇被扒开屁股日出水爆乳| 精品亚洲香蕉久久综合网| 亚洲成人高清av在线| 波多野结衣的av一区二区三区| 亚洲欧洲∨国产一区二区三区| 午夜天堂精品久久久久| 91福利国产午夜亚洲精品 | 国产亚洲精品久久久久秋霞| 青青草国产线观看| 西峡县| 国产在线无遮挡免费观看| 天天色综网| 欧洲免费一区二区三区视频| 国产精品人成在线观看免费 | 夜色福利站WWW国产在线视频| 国产又黄又爽又刺激的免费网址 | 熟妇人妻久久精品一区二区| 中文文字幕文字幕亚洲色| 日韩av中文字幕有码| 国产亚洲精品aaaa片app| 亚洲制服无码一区二区三区 |