亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? classimageprocessing.cls

?? 這是一個立體視覺程序
?? CLS
?? 第 1 頁 / 共 5 頁
字號:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "classImageProcessing"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit

Public width As Integer
Public height As Integer
Dim image() As Byte
Dim edgeTraced() As Boolean

Const NoOfFeatureCategories = 10
Dim FeatureVector(30000, NoOfFeatureCategories) As Single

Public mergeEdgesRadius As Integer

Public noOfEdges As Integer
Dim edges(30000, 12) As Single
Dim TrackDetails(30000, 6) As Single
Public noOfTracks As Integer
Public primaryEdge As Integer
Public minEdgeLength As Integer
Dim maxEdgeLength As Integer
Const NoOfTrackPositions = 10
Dim TrackPositions(30000, NoOfTrackPositions, 3) As Single
Const EDGE_X = 0
Const EDGE_Y = 1
Const EDGE_LENGTH = 2
Const EDGE_ANGLE = 3
Const EDGE_PROBABILITY = 4
Const EDGE_TRACK = 5
Const EDGE_X1 = 6
Const EDGE_Y1 = 7
Const EDGE_X2 = 8
Const EDGE_Y2 = 9
Const EDGE_ARC = 10
Const EDGE_ANGLECHANGE = 11
Const TRACK_EDGES = 0
Const TRACK_START = 1
Const TRACK_LENGTH = 2
Const TRACK_AXIS = 3
Const TRACK_X = 4
Const TRACK_Y = 5

Public processType As Integer

Public EdgeThreshold As Single
Dim averageContrast As Double

Const image_raw = 0
Const image_red = 1
Const image_green = 2
Const image_blue = 3
Const image_edges = 4
Const IMAGE_MOVEMENT = 5


Public scanInterval As Integer


'masks used for edge detection
Public NoOfEdgeAngles As Integer
Dim EdgeHistogram() As Single

'colour histogram levels
Dim Histogram_levels As Integer
Dim ColourHistogram() As Double
Dim Hist() As Double

'snake
Public NoOfSnakePoints As Integer
Dim SnakePoint() As Single
Dim snakeEnergy As Single
Dim elasticity As Single
Dim SnakeStationaryPoints As Integer
Public SnakeComplete As Boolean
Dim prevSnakeStationaryPoints As Integer
Dim snakeStationary As Integer
Const SNAKE_X = 0
Const SNAKE_Y = 1
Const SNAKE_DX = 2
Const SNAKE_DY = 3
Const SNAKE_DIST = 4
Const SNAKE_ANGLE = 5

'blobs
Public NoOfBlobs As Integer
Dim Blob(30000, 4) As Single
Const BLOB_X = 0
Const BLOB_Y = 1
Const BLOB_RADIUS = 2
Const BLOB_PROBABILITY = 3

Public NoOfStereoMatches As Integer
Public StereoPatchSize As Integer
Dim stereoMatch(30000, 8) As Single



Public Sub Snake(NoOfSnakePts As Integer, tx As Integer, ty As Integer, w As Integer, h As Integer)
  Dim i As Integer
  Dim j As Integer
  Dim sidePoints As Integer
  
  NoOfSnakePoints = NoOfSnakePts
  ReDim SnakePoint(NoOfSnakePoints, 6)
  
  'initialise the snake
  sidePoints = NoOfSnakePoints / 4
  For i = 0 To sidePoints
    For j = 0 To 4
      Select Case j
        Case 0
          SnakePoint(i, SNAKE_X) = tx + ((w / sidePoints) * i)
          SnakePoint(i, SNAKE_Y) = ty
        Case 1
          SnakePoint(i + (sidePoints * 1), SNAKE_X) = tx + w
          SnakePoint(i + (sidePoints * 1), SNAKE_Y) = ty + ((h / sidePoints) * i)
        Case 2
          SnakePoint(i + (sidePoints * 2), SNAKE_X) = tx + w - ((w / sidePoints) * i)
          SnakePoint(i + (sidePoints * 2), SNAKE_Y) = ty + h
        Case 3
          SnakePoint(i + (sidePoints * 3), SNAKE_X) = tx
          SnakePoint(i + (sidePoints * 3), SNAKE_Y) = ty + h - ((h / sidePoints) * i)
      End Select
    Next
  Next
    
  snakeEnergy = ((w * 2) + (h * 2)) / NoOfSnakePoints
  'snakeEnergy = 0.1
  elasticity = 0.4
  SnakeComplete = False
  prevSnakeStationaryPoints = 0
  snakeStationary = 0
  
End Sub


Public Sub updateSnake()
  Dim i As Integer
  Dim j As Integer
  Dim dx As Single
  Dim dy As Single
  Dim sidePoints As Integer
  Dim distNext As Single
  Dim distPrevious As Single
  Dim px As Single
  Dim py As Single
  Dim mx As Single
  Dim my As Single
  Dim distBase As Single
  Dim dp As Single
    
  SnakeStationaryPoints = 0
  
  'calculate distances between snake points
  For i = 0 To NoOfSnakePoints - 1
    If (i > 0) Then
      dx = SnakePoint(i, SNAKE_X) - SnakePoint(i - 1, SNAKE_X)
      dy = SnakePoint(i, SNAKE_Y) - SnakePoint(i - 1, SNAKE_Y)
      Else
      dx = SnakePoint(i, SNAKE_X) - SnakePoint(NoOfSnakePoints - 1, SNAKE_X)
      dy = SnakePoint(i, SNAKE_Y) - SnakePoint(NoOfSnakePoints - 1, SNAKE_Y)
    End If
    SnakePoint(i, SNAKE_DX) = dx
    SnakePoint(i, SNAKE_DY) = dy
    SnakePoint(i, SNAKE_DIST) = Sqr((dx * dx) + (dy * dy))
        
    If (SnakePoint(i, SNAKE_DIST) > 0) Then
      SnakePoint(i, SNAKE_ANGLE) = Acos(dy / SnakePoint(i, SNAKE_DIST))
      If (dy < 0) Then
        SnakePoint(i, SNAKE_ANGLE) = (2 * 3.1415927) - SnakePoint(i, SNAKE_ANGLE)
      End If
      Else
      SnakePoint(i, SNAKE_ANGLE) = 0
    End If
     
  Next
   
  For i = 0 To NoOfSnakePoints - 1
  
    If (i < NoOfSnakePoints - 1) Then
      distNext = SnakePoint(i + 1, SNAKE_DIST)
      If (i > 1) Then
        dx = SnakePoint(i + 1, SNAKE_X) - SnakePoint(i - 1, SNAKE_X)
        dy = SnakePoint(i + 1, SNAKE_Y) - SnakePoint(i - 1, SNAKE_Y)
        j = i + 1
        Else
        dx = SnakePoint(i + 1, SNAKE_X) - SnakePoint(NoOfSnakePoints - 1, SNAKE_X)
        dy = SnakePoint(i + 1, SNAKE_Y) - SnakePoint(NoOfSnakePoints - 1, SNAKE_Y)
        j = i + 1
      End If
      Else
      dx = SnakePoint(0, SNAKE_X) - SnakePoint(i - 1, SNAKE_X)
      dy = SnakePoint(0, SNAKE_Y) - SnakePoint(i - 1, SNAKE_Y)
      distNext = SnakePoint(0, SNAKE_DIST)
      j = 0
    End If
    distBase = Sqr((dx * dx) + (dy * dy))
    distPrevious = SnakePoint(i, SNAKE_DIST)
    
    dp = (distPrevious - snakeEnergy) * 0.5
    distPrevious = distPrevious - dp
    distNext = distNext + dp
    mx = SnakePoint(j, SNAKE_X) - (dx * (distPrevious / distNext))
    my = SnakePoint(j, SNAKE_Y) - (dy * (distPrevious / distNext))
    
    dx = ((SnakePoint(i, SNAKE_X) - mx) * elasticity) + ((Rnd - 0.5) * 1)
    dy = ((SnakePoint(i, SNAKE_Y) - my) * elasticity) + ((Rnd - 0.5) * 1)
      
    If (dx > 1) Then
      dx = 1
    End If
    If (dy > 1) Then
      dy = 1
    End If
    If (dx < -1) Then
      dx = -1
    End If
    If (dy < -1) Then
      dy = -1
    End If
    px = SnakePoint(i, SNAKE_X) - dx
    py = SnakePoint(i, SNAKE_Y) - dy
    If (px >= 0) And (px < width) And (py >= 0) And (py < height) Then
      If (image(px, py) = 0) Then
        SnakePoint(i, SNAKE_X) = px
        SnakePoint(i, SNAKE_Y) = py
        Else
        SnakeStationaryPoints = SnakeStationaryPoints + 1
      End If
    End If
  Next
    
  If (snakeEnergy > 0.1) Then
    snakeEnergy = snakeEnergy * 0.99
  End If
  
  If (prevSnakeStationaryPoints = SnakeStationaryPoints) Then
    snakeStationary = snakeStationary + 1
    Else
    snakeStationary = 0
  End If
  If ((SnakeStationaryPoints / NoOfSnakePoints) > 0.2) And (snakeStationary > 2) Then
    SnakeComplete = True
  End If
  prevSnakeStationaryPoints = SnakeStationaryPoints
  
End Sub





Public Sub stereoEigenImage(LeftImage As classImageProcessing, RightImage As classImageProcessing, Threshold As Integer)
'calculates the difference between two stereo images
  Dim x As Integer
  Dim y As Integer
  Dim p1 As Integer
  Dim p2 As Integer
  Dim p As Integer
  
  For x = 0 To width - 1
    For y = 0 To height - 1
      p1 = LeftImage.getPoint(x, y)
      p2 = RightImage.getPoint(x, y)
      p = (p1 + p2) / 2
      If (Abs(p - p1) > Threshold) Then
        image(x, y) = 255 - p
        Else
        image(x, y) = 0
      End If
    Next
  Next

End Sub



Public Sub stereoCompare(otherImage As classImageProcessing, patchsize As Integer, SmoothnessThreshold As Single, matchThreshold As Single, searchHorizontal As Integer, searchVertical As Integer)
'compares this image with another image to find stereo matches
'images must be of the same size
  Dim x As Integer
  Dim y As Integer
  Dim xx As Integer
  Dim yy As Integer
  Dim eDist As Single
  Dim dp As Single
  Dim diff As Single
  Dim patchPixels As Single
  Dim featurePoint() As Boolean
  Dim a As Integer
  Dim b As Integer
  Dim featuresX As Integer
  Dim featuresY As Integer
  Dim px As Integer
  Dim py As Integer
  Dim minDist As Single
  Dim matchFound As Boolean
  Dim p1 As Integer
  Dim p2 As Integer
  Dim i As Integer
  Dim dx As Integer
  Dim dy As Integer
  
  featuresX = Int(width / patchsize)
  featuresY = Int(height / patchsize)
  ReDim featurePoint(featuresX, featuresY)
  
  StereoPatchSize = patchsize
  patchPixels = patchsize * patchsize
  
  'look for suitable feature points
  a = 0
  For x = 0 To width - 1 Step patchsize
    b = 0
    For y = 0 To height - 1 Step patchsize
      
      diff = 0
      For xx = x + 1 To x + patchsize - 1
        For yy = y To y + patchsize - 1
          p1 = image(xx, yy)
          p2 = image(xx - 1, yy)
          dp = (p1 - p2) / 255
          diff = diff + (dp * dp)
        Next
      Next
      diff = diff / patchPixels
      
      If (diff > SmoothnessThreshold) Then
        featurePoint(a, b) = True
      End If
      b = b + 1
    Next
    a = a + 1
  Next
  
  'match the feature points in the other image
  NoOfStereoMatches = 0
  a = 0
  For x = 0 To width - 1 Step patchsize
    b = 0
    For y = 0 To height - 1 Step patchsize
      If (featurePoint(a, b)) Then
        
        stereoMatch(NoOfStereoMatches, 0) = x
        stereoMatch(NoOfStereoMatches, 1) = y
        
        matchFound = False
        minDist = matchThreshold
        For xx = x - searchHorizontal To x + searchHorizontal
          If (xx > 0) And (xx < width - patchsize) Then
            For yy = y - searchVertical To y + searchVertical
              If (yy > 0) And (yy < height - patchsize) Then
                
                eDist = 0
                For px = xx To xx + patchsize - 1
                  For py = yy To yy + patchsize - 1
                    p1 = image(px - xx + x, py - yy + y)
                    p2 = otherImage.getPoint(px, py)
                    dp = (p1 - p2) / 255
                    eDist = eDist + (dp * dp)
                  Next
                Next
                eDist = eDist / patchPixels
                If (eDist < minDist) And (Not ((px = x) And (py = y))) Then
                  minDist = eDist
                  stereoMatch(NoOfStereoMatches, 2) = px
                  stereoMatch(NoOfStereoMatches, 3) = py
                  stereoMatch(NoOfStereoMatches, 4) = eDist
                  matchFound = True
                End If
                
              End If
            Next
          End If
        Next
        
        If (matchFound) Then
          NoOfStereoMatches = NoOfStereoMatches + 1
        End If
        
      End If
      b = b + 1
    Next
    a = a + 1
  Next
  
  'calculate positions and distances
  For i = 0 To NoOfStereoMatches - 1
    dx = stereoMatch(i, 2) - stereoMatch(i, 0)
    dy = stereoMatch(i, 3) - stereoMatch(i, 1)
    stereoMatch(i, 5) = stereoMatch(i, 0) + (dx / 2)
    stereoMatch(i, 6) = stereoMatch(i, 1) + (dy / 2)
    
    'calculate a normalised distance between 0 and 1
    'stereoMatch(i, 7) = 1 - (Sqr((dx * dx) + (dy * dy)) / width)
    stereoMatch(i, 7) = 1 - (Abs(dx) / width)
  Next
  
End Sub




Public Sub Diffuse(diffuseConstant As Single, diffuseSteps As Integer)
  Dim x As Integer
  Dim y As Integer
  Dim i As Integer
  Dim index As Integer
  Dim diffValue() As Single
  Dim Value As Single
  Dim dv As Single
  Dim max As Single
  
  ReDim diffValue(width, height, 2)
  For x = 0 To width - 1
    For y = 0 To height - 1
      diffValue(x, y, 0) = image(x, y)
    Next
  Next
  
  index = 1
  max = 1
  For i = 1 To diffuseSteps
    For x = 1 To width - 2
      For y = 1 To height - 2
        Value = diffValue(x, y + 1, 1 - index) + diffValue(x + 1, y + 1, 1 - index) + diffValue(x + 1, y, 1 - index) + diffValue(x + 1, y - 1, 1 - index)
        Value = Value + diffValue(x, y - 1, 1 - index) + diffValue(x - 1, y - 1, 1 - index) + diffValue(x - 1, y, 1 - index) + diffValue(x - 1, y + 1, 1 - index)
        dv = (Value / 8) - diffValue(x, y, 1 - index)
        diffValue(x, y, index) = diffValue(x, y, 1 - index) + (diffuseConstant * dv)
        If (diffValue(x, y, index) < 0) Then
          diffValue(x, y, index) = 0
        End If
        If (diffValue(x, y, index) > 255) Then
          diffValue(x, y, index) = 255
        End If
        If (i = diffuseSteps) Then
          If (diffValue(x, y, index) > max) Then
            max = diffValue(x, y, index)
          End If
        End If
      Next
    Next
        
    If (i = diffuseSteps) Then
      For x = 1 To width - 2
        For y = 1 To height - 2
          image(x, y) = CByte(diffValue(x, y, index) / max * 255)
        Next
      Next
    End If
    
    If (index = 1) Then
      index = 0
      Else
      index = 1
    End If
  Next
  
  
  
End Sub


Public Sub getEdges()
  Dim x As Integer
  Dim y As Integer

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97国产一区二区| 亚洲妇女屁股眼交7| 国产亚洲欧美中文| 激情图片小说一区| 午夜久久久久久电影| 一本大道久久a久久精品综合| 亚洲视频在线观看一区| 欧美性一二三区| 秋霞电影网一区二区| 欧美xfplay| 99视频在线观看一区三区| 怡红院av一区二区三区| 欧美日韩精品欧美日韩精品| 捆绑紧缚一区二区三区视频| 国产日韩欧美精品在线| 色诱视频网站一区| 首页欧美精品中文字幕| 精品美女在线播放| av欧美精品.com| 视频一区在线视频| 久久精品亚洲精品国产欧美kt∨| 99久久久国产精品| 日韩精品高清不卡| 国产日韩欧美不卡在线| 欧美日韩一区国产| 国产传媒久久文化传媒| 亚洲主播在线观看| 久久嫩草精品久久久久| 在线免费观看不卡av| 极品美女销魂一区二区三区| 亚洲男帅同性gay1069| 正在播放一区二区| 懂色av噜噜一区二区三区av | 欧美调教femdomvk| 久久69国产一区二区蜜臀 | 亚洲激情图片小说视频| 欧美一级电影网站| 91在线高清观看| 国内精品免费在线观看| 亚洲一级二级三级在线免费观看| 精品免费99久久| 欧美三级在线视频| 99视频精品在线| 国内精品视频一区二区三区八戒 | 亚洲午夜免费视频| 国产精品你懂的在线欣赏| 欧美日韩高清在线播放| 91日韩一区二区三区| 精品一区精品二区高清| 亚洲成av人片| 亚洲日本一区二区三区| 久久久久久电影| 日韩午夜电影av| 欧美自拍丝袜亚洲| 成人av中文字幕| 国产在线日韩欧美| 蜜桃传媒麻豆第一区在线观看| 一区二区在线观看av| 国产精品色哟哟| 日韩av网站在线观看| 亚洲天堂2014| 中文字幕亚洲区| 中文字幕高清一区| 精品国产乱子伦一区| 日韩一区二区免费在线观看| 欧美日韩免费一区二区三区 | 日韩你懂的电影在线观看| 在线免费视频一区二区| 972aa.com艺术欧美| eeuss鲁片一区二区三区| 国产成人av资源| 国产91在线观看| 国产成人夜色高潮福利影视| 国产麻豆午夜三级精品| 狠狠色综合播放一区二区| 久久99精品久久久久久动态图| 蜜桃视频免费观看一区| 日本一不卡视频| 六月丁香婷婷久久| 美女国产一区二区| 久久精品国产免费| 激情亚洲综合在线| 国产成人鲁色资源国产91色综| 韩国一区二区视频| 国产盗摄视频一区二区三区| 国产suv精品一区二区三区| 国产福利电影一区二区三区| 成人一道本在线| www.爱久久.com| 91福利国产成人精品照片| 欧美日韩一卡二卡三卡 | 日韩美一区二区三区| 日韩欧美一区二区不卡| 久久久久久久免费视频了| 中文字幕欧美国产| 亚洲丝袜精品丝袜在线| 亚洲线精品一区二区三区| 日韩不卡一区二区| 国产一区二区三区久久久| 成人国产免费视频| 在线观看免费一区| 日韩欧美国产高清| 国产精品久久久久久福利一牛影视| 亚洲欧美日韩精品久久久久| 亚洲电影第三页| 美女被吸乳得到大胸91| 成人精品视频一区二区三区| 91国在线观看| 精品久久久久久久久久久久久久久| 国产三区在线成人av| 自拍视频在线观看一区二区| 日韩国产欧美三级| 国产精品77777竹菊影视小说| 91麻豆文化传媒在线观看| 91精品国产综合久久精品app| 精品国产乱码久久久久久影片| 亚洲欧美综合另类在线卡通| 日韩精品乱码免费| av中文字幕不卡| 日韩免费高清电影| 亚洲欧美一区二区久久| 久久99精品久久久久久动态图| 99国产麻豆精品| 欧美一区二区私人影院日本| 欧美激情在线免费观看| 日日摸夜夜添夜夜添精品视频| 成人夜色视频网站在线观看| 欧美一区二区三区在线| 亚洲人成小说网站色在线| 久久狠狠亚洲综合| 欧美影院午夜播放| 国产亚洲短视频| 日本不卡的三区四区五区| 色综合天天天天做夜夜夜夜做| 精品免费日韩av| 香蕉乱码成人久久天堂爱免费| bt欧美亚洲午夜电影天堂| 精品国产1区二区| 图片区小说区国产精品视频| fc2成人免费人成在线观看播放| 欧美成人一级视频| 视频一区二区国产| 色婷婷综合久久久久中文一区二区| 久久久www免费人成精品| 日韩精品欧美精品| 欧美色综合网站| 一区二区三区在线免费播放| 福利视频网站一区二区三区| 日韩精品自拍偷拍| 日韩国产在线观看| 欧美日韩一区中文字幕| 日韩理论片在线| hitomi一区二区三区精品| 国产日产欧美精品一区二区三区| 久久精品99国产精品日本| 91精品福利在线一区二区三区 | 国产精品毛片久久久久久久| 久久不见久久见免费视频7| 777午夜精品视频在线播放| 亚洲国产美国国产综合一区二区| av亚洲产国偷v产偷v自拍| 中文字幕乱码久久午夜不卡| 国产精品456露脸| 久久人人97超碰com| 国产精品综合二区| 久久久精品人体av艺术| 激情成人综合网| 久久影院电视剧免费观看| 国产一区二区免费看| 久久精品日产第一区二区三区高清版| 久久精品国产成人一区二区三区 | 在线视频一区二区三| 亚洲女人的天堂| 色噜噜狠狠成人中文综合 | 欧美日韩成人在线| 日韩影院在线观看| 日韩三级伦理片妻子的秘密按摩| 男人操女人的视频在线观看欧美| 91麻豆精品国产| 老司机午夜精品| 久久精品在线观看| 不卡的av中国片| 一区二区激情小说| 欧美挠脚心视频网站| 日本成人中文字幕| 久久精品人人爽人人爽| 99精品久久只有精品| 一区二区三区日韩在线观看| 欧美日本一区二区| 国产在线看一区| 亚洲人成精品久久久久久| 欧美午夜免费电影| 精品一区二区三区视频在线观看| 日本一区二区三区免费乱视频| 99这里只有精品| 日韩电影免费一区| 国产亚洲成av人在线观看导航| 99re这里都是精品| 日韩av一区二区三区| 国产精品视频免费|