原创 !_descriptors.empty() in function cv::BOWTrainer::add

出現這個錯誤,打印一下是第幾個出現這個問題的,我的是130個出現問題的,那麼就把第130個文件給刪了,然後再找一張和它分辨率一樣的補充在這裏。比如:我的是這個文件出問題了 那麼把這個刪了,最簡單的方法是從他前面找一個文件來把他替

原创 python+opencv Canny邊緣檢測

OpenCV提供了一給非常方便的Canny函數(算法發明者:Jhon F.Canny)。 Canny邊緣檢測算法非常複雜,其實現有5個步驟: 使用高斯濾波器對圖像進行降噪 計算梯度 在邊緣上使用非最大抑制(NMS) 在檢測到的邊

原创 matplotlib輸出中文顯示問題

matplotlib如果直接去輸出中文,那麼會顯示出來一個個的小方格。 通過以下代碼設置字體可以讓其正常顯示中文: from pylab import mpl mpl.rcParams['font.sans-serif'] =

原创 tkinter學習(一):創建一個窗口

tkinter是python標準的GUI庫,我們可以使用它來快速的創建一個圖像化的窗口程序,並且tkinter是內置到python的安裝包的,也就是說當我們安裝好python後這個庫就能正常使用了,只需要我們去import tkinter

原创 C++判斷string裏面的內容是不是double類型

今天有小夥伴問怎麼去判讀string裏面的內容是不是double類型的,比如string a= "3.14"這個的內容就是double類型的,當然string的內容也應該可以是科學計數法表示double類型的數,比如string

原创 線程UI更新報錯:Only the original thread that created a view hierarchy can touch its views.

當我們在線程裏面更新UI的時候會報錯:Only the original thread that created a view hierarchy can touch its views. 如下面的代碼:直接在UDP發送線程裏面更

原创 opencv讀取視頻實時傳輸到Android端

在傳輸視頻音頻的時候一般選用UDP協議,因爲TCP會檢查傳輸的數據包是否正確,當錯誤時要求重傳,這樣在觀看實時視頻時會造成卡頓。UDP並不會去要求重傳,它會把錯誤的直接丟掉,而丟掉少許的數據包對我們觀看視頻來說並不會造成太大的影響

原创 快速排序

快速排序的分治法的一個典型應用,其時間複雜度是O(logN)。 比如將6,12,1,4,7,15,3這7給元素進行排序。首先選出一個基準值,一般是選用第一個元素,這裏也就是6。然後開始從最右邊開始尋找比基準值小的元素放到基準值的左

原创 python+opencv 靜態圖像人臉檢測

這裏使用的OpenCV人臉檢測的XML文件可以從https://github.com/opencv/opencv/tree/master/data/haarcascades進行下載。 需要將圖片轉爲灰度圖片。 import cv2

原创 Android Studio加快gradle sync速度

在使用Android Studio時,新建項目之後下載gradle非常慢,有時候要40多分鐘,通過修改爲國內的源可以加快速度。 是通過修改build.gradle文件來做到的。這個文件在你安裝的Android Studio根目錄下

原创 python+opencv圓檢測

霍夫圓檢測對噪聲比較敏感,所有進行霍夫圓檢測的時候要先進行中值濾波。 在OpenCV中是通過圖像梯度來實現霍夫變換圓檢測的,因此要選用cv2.HOUGH_GRADIENT這個參數。 其實現分爲兩步: 檢測圖像邊緣,發現可能的圓心

原创 python+opencv讀取視頻文件

OpenCV提供了VideoCapture類和VideoWriter類來支持各種格式的視頻文件的讀寫,在不同系統上可能支持的格式會有不同,但總的來說是都支持AVI格式的視頻的。 在視頻沒有結束之前,可以通過VideoCapture