原创 opencv第二天視頻文件打開及色彩分離合並

import cv2 as cv import numpy as np def extrace_object_demo(): capture = cv.VideoCapture("C:/Users/weiqiangwen/De

原创 python max(a,key = lambda a:a[1]) max的簡潔用法

 max(x.items(),key = lambda a:a[1])    將x.items()字典面最大的值賦值給a[1]並返回給haha3

原创 python _**、__**區別

  (1)_xxx      "單下劃線 " 開始的成員變量叫做保護變量,意思是隻有類實例和子類實例能訪問到這些變量,需通過類提供的接口進行訪問;不能用'from module import *'導入   (2)__xxx    類中的私

原创 OPENCV K鄰近

原理kNN 可以說是最簡單的監督學習分類器了。想法也很簡單,就是找出測試數據在特徵空間中的最近鄰居。我們將使用下面的圖片介紹 上圖中的對象可以分成兩組,藍色方塊和紅色三角。每一組也可以稱爲一個類。我們可以把所有的這些對象看成是一個城鎮中

原创 攝像頭Lucas-Kanade法分析光流

 現在我們要使用第二條假設,鄰域內的所有點都有相似的運動。LucasKanade 法就是利用一個 3x3 鄰域中的 9 個點具有相同運動的這一點。這樣我們就可以找到這 9 個點的光流方程,用它們組成一個具有兩個未知數 9 個等式的方程組,

原创 視頻分析稠密光流

Lucas-Kanade 法是計算一些特徵點的光流(我們上面的例子使用的Shi-Tomasi 算法檢測到的角點)。OpenCV 還提供了一種計算稠密光流的方法。它會圖像中的所有點的光流。這是基於 Gunner_Farneback 的算法(

原创 視覺分析createBackgroundSubtractorKNN去背景

在很多基礎應用中背景檢出都是一個非常重要的步驟。例如顧客統計,使用一個靜態攝像頭來記錄進入和離開房間的人數,或者是交通攝像頭,需要提取交通工具的信息等。在所有的這些例子中,首先要將人或車單獨提取出來。技術上來說,我們需要從靜止的背景中提取

原创 視頻跟蹤 cv2.CamShift跟蹤有問題

 這個算法首先要使用 meanshift,meanshift 找到(並覆蓋)目標之後,再去調整窗口的大小,s = 2x√M00256 。它還會計算目標對象的最佳外接橢圓的角度,並以此調節窗口角度。然後使用更新後的窗口大小和角度來在原來的位

原创 視頻分析Meanshift動態物體識別

eanshift 算法的基本原理是和很簡單的。假設我們有一堆點(比如直方圖反向投影得到的點),和一個小的圓形窗口,我們要完成的任務就是將這個窗口移動到最大灰度密度處(或者是點最多的地方)。如下圖所示: 初始窗口是藍色的“C1”,它的圓心

原创 opencv ORB兩張圖片蠻力匹配及官方例子錯誤,img3 = cv.drawMatches(img1,kp1,img2,kp2,matches[:10], flags=2)

踩坑opencv3.4官方例子量圖片匹配img3 = cv.drawMatches(img1,kp1,img2,kp2,matches[:10], flags=2),  第六個函數outimg官方沒有,很多書也是複製粘貼並沒有實際操作會報

原创 SIFT算法

SIFT具有旋轉不變特性,即使圖片發生了旋轉,我們也能找到同樣的角點。很明顯即使圖 像發生旋轉之後角點還是角點。那如果我們對圖像進行縮放呢?角點可能就不再是角點了。以下圖爲例,在一副小圖中使用一個小的窗口可以檢測到一個角點,但是如果圖像被

原创 fast檢測器 (編譯不過kp = fast.detect(img , None)類型不對先記錄下來以後查看源碼)

import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread('left08.jpg',0) cv2.imshow("con

原创 opencv蛋疼的3.0和3.4 orb角點檢測

版本區別3.0 orb = cv2.ORB() kp = orb.detect(img,None) 如果再3.4運行就會出現TypeError: Incorrect type of self (must be 'Feature2D' o

原创 Shi-Tomasi 角點檢測 & 適合於跟蹤的圖像特 徵

 Harris 角點檢測的打分公式爲:R = λ1λ2 − k (λ1 + λ2),但 Shi-Tomasi 使用的打分函數爲:R = min (λ1, λ2),如果打分超過閾值,我們就認爲它是一個角點。我們可以把它繪製到 λ1 ~λ2

原创 Harris 角點及cv2.cornerHarris()

角點檢測中要使 E (µ, ν) 的值最大。這就是說必須使方程右側的第二項的取值最大。對上面的等式進行泰勒級數展開然後再通過幾步數學換算這裏 Ix 和 Iy 是圖像在 x 和 y 方向的導數。(可以使用函數 cv2.Sobel()計算得到