1. 程式人生 > >opencv3.1自帶demo的介紹和執行操作。

opencv3.1自帶demo的介紹和執行操作。

3calibration.cpp 三個相機的標定,沒有三個相機,所以沒測試
autofocus.cpp 自動對焦,沒有這種相機,沒測試
bgfg_segm.cpp   混合高斯模型的前景背景分割
camshiftdemo.cpp camshift跟蹤,預設開啟攝像頭,滑鼠選中一個物體即可跟蹤
calibration.cpp 單個攝像頭標定,需要用imagelist_creator.cpp 生成一個影象檔案list,一個參考的命令引數是:-w=7 -h=8 -s=30 -o=camera.yml -op -oe imagelist.yml  
cloning_demo.cpp  /cloning_gui.cpp    影象融合
connected_components.cpp   連通域分析
contours2.cpp    輪廓/繪製 輪廓
convexhull.cpp  尋找凸包
cout_mat.cpp    輸出 mat中的資料
create_mask.cpp  生成剪影圖,用來做影象融合之類的。用滑鼠操作即可
delaunay2.cpp   隨機點生成delaunay三角網,可以用來做三維重建之類的吧。
dbt_face_detection.cpp  linux下的人臉識別,沒試
demhist.cpp    直方圖生成 繪圖
detect_blob.cpp  團塊檢測
detect_mser.cpp   最大穩定極值區域(MSER-Maximally Stable Extremal Regions)可以用於影象的斑點區域檢測。該演算法最早是由Matas等人於2002年提出,它是基於分水嶺的概念。
dft.cpp   dft變換
distrans.cpp  距離變換   距離變換和線性濾波器,形態學變換處於平等位置,是影象處理的一種方法,通過使用兩遍掃描光柵演算法可以快速計算到曲線或點集的距離。 應用:水平集 快速斜切匹配 影象拼接 影象混合的羽化 臨近點配準
drawing.cpp  直線,多邊形,橢圓,文字等繪畫
edge.cpp canny邊緣檢測
em.cpp  em聚類,em model使用的例子,可以用來預測分類、聚類,類似多個高斯函式疊加
facedetect.cpp 人臉人眼檢測
facial_features.cpp    Haarcascade classifiers for face, eyes, nose and mouth 人臉,人眼,鼻子嘴巴之類的檢測
 fback.cpp          稠密點的光流法跟蹤       This program demonstrates dense optical flow algorithm by Gunnar Farneback\n"
ffilldemo.cpp   漫水演算法
filestorage.cpp  存取檔案操作,可以儲存為。txt或者任何其他字尾的格式的資料
fitellipse.cpp  拖圓擬合,將圖片二值化之後取輪廓,擬合。
grabcut.cpp  選取區域,前景點背景點,前背景自動分割。能反覆選取前景,背景點畫素,分割效果還是挺好的,另外有抓取螢幕點的操作可以借鑑。具體的演算法看這個http://blog.csdn.net/zouxy09/article/details/8534954
houghcircles.cpp  霍夫圓檢測
houghlines.cpp  霍夫直線檢測
image.cpp  iplimag轉Mat 三通道分離合並,YUY RGB轉換等
image_alignment.cpp  影象配準的演算法,用的是ECC影象配準方法,我所試驗的幾個圖片配準效果都不是很好,但是有幾個warp函式可以借鑑,用來旋轉、平移和仿射變換等。下面是一個呼叫的命令引數格式。D:\\Users\\jack\\Desktop\\ForTheOpencv\\5.jpg D:\\Users\\jack\\Desktop\\ForTheOpencv\\7.jpg -o=outWarp.ecc -m=homography -e=1e-6 -N=70 -v=1
image_sequence.cpp   用VideoCapture 讀取連續的 影象序列,挺實用的一個例子。  下面是一個呼叫的命令引數格式    C:\Users\Administrator\Desktop\matlabEyeTraking\1\%d.bmp
imagelist_creator.cpp     建立一個呼叫過的agv引數的list並且儲存。 命令引數的格式為 xx.yml  G:\opencv31\opencv\sources\samples\data\left13.jpg 後面可以載入n個影象檔案路徑,用空格隔開即可。  
inpaint.cpp  應該是用來給視訊或者影象“打碼”的演算法,通過滑鼠畫需要處理的部分,按下空格鍵處理影象。
intelperc_capture.cpp  這個好像要有英特爾的深度相機才能玩的。 This program demonstrates usage of camera supported\nby Intel Perceptual computing SDK
kalman.cpp 卡爾曼濾波的呼叫,生成一個隨機運動的點,然後用卡爾曼濾波來預測跟蹤。
kmeans.cpp K均值聚類方法,隨機生成幾個點云然後聚類
laplace.cpp  拉普拉斯邊緣,二次微分的邊緣,可用於增強之類的。
letter_recog.cpp 字元識別(分類) 可以選擇 隨機森林,boost ,k近鄰,正態貝葉斯,SVM,多層神經網路等方法。是一個機器學習的訓練和測試的demo. 通過修改命令引數測試發現,這個程式碼中效果最好的居然是knn. 具體問題分類的效果還是要看具體的特徵,一個個試吧。
lkdemo.cpp   LK光流法跟蹤,點選一些點然後可以跟蹤,效果不錯,速度也比較快。
logistic_regression.cpp  logistic迴歸做分類(二分) 用的是手寫數字0和1分類,好像效果還行。
lsd_lines.cpp  lsd直線檢測,效果好像比hoghline好點 短線段比較多。
mask_tmpl.cpp  用一個掩模來做模板匹配.掩模的作用是權值吧,比如尋找某些標誌時候,用相同的幾何形狀來早匹配。不用掩模也可以做匹配。
matchmethod_orb_akaze_brisk.cpp   ORB BRISK   AKAZE特徵描述子的提取和匹配,通過空格鍵控制不同的描述子或者匹配方式,在魯棒性上SIFT<SURF<BRISK<FREAK<ORB 在對有較大模糊的影象配準時,BRISK演算法在其中表現最為出色。這幾個特徵點匹配的方法。
minarea.cpp 計算最小外接圓,矩形和三角形的函式。
morphology2.cpp 形態學的開運算,閉運算,膨脹腐蝕的示例
npr_demo.cpp  非真實渲染,給圖片增強、模糊,轉化成水彩或者鉛筆圖等。
opencv_version.cpp  輸出opencv版本號
openni_capture.cpp  深度相機的採集(Kinect等)
pca.cpp   PCA降維,在命令引數中輸入一個list,list可以是一個txt之類的文字檔案,文字每一行是一張圖片的完整路徑。可以下載作者提供的人臉資料庫,最後降維成特徵臉。
phase_corr.cpp  相位相關法(phase correlate)可以用於檢測兩幅內容相同的影象之間的相對位移量,本程式呼叫攝像頭,直接計算兩幀之間的相對運動並顯示出了,速度比較快,但是效果不一定很好。可以做穩像,防抖之類的吧
points_classifier.cpp  點分類器,只有0 1 兩個類通過鍵盤上的按鍵來確定當前類,用滑鼠在彈出的視窗上點選一些點作為訓練點,用0 1兩個按鍵來控制當前點的類別(紅色和綠色)最後輸入字幕r即可看分類效果。程式把二維空間分類成兩個部分。方法有EM KNN SVM 決策樹,adaboost, gradient boosted trees, 隨機森林,神經網路等方法。是一個比較好的機器學習的demo。
polar_transforms.cpp  This program illustrates Linear-Polar and Log-Polar image transforms  極座標轉換,在命令引數中輸入數字(0)開啟攝像頭或者輸入完整的avi路徑和檔名即可執行。
segment_objects.cpp  混合高斯模型的前背景分割用了聯通閾分析形態學運算之類的來進一步refine前景和背景,可以通過空格鍵控制是否學習背景。 預設開啟攝像頭,也可以用完整的avi路徑作為輸入。
select3dobj.cpp  這個需要先標定相機的內參,本程式能夠實時的矯正畸變。據說還有一些grabcut和3d的track的功能,但我執行的時候總有bug,沒試出,大家可以自己試試吧,我放棄了。
shape_example.cpp  shape context形狀匹配演算法。可以對比形狀的相似性。用的是輪廓點的座標作為輸入。
smiledetect.cpp 笑臉檢測,效果還是可以的,速度略慢,用一個bar來輸出笑臉的分數。
squares.cpp 矩形檢測,檢測影象中的矩形(挺實用的)
starter_imagelist.cpp 上面imaglist_creator創建出的list的影象讀取的demo
starter_video.cpp 開啟攝像頭或者avi,按下空格鍵就儲存影象,挺實用的,比如相機標定的時候
stereo_calib.cpp  雙目視覺標定,預設開啟data資料夾下的圖片和圖片的list,list可能需要根據自己電腦修改。輸出一個相機外參的檔案。
stereo_match.cpp  視差圖生成。輸入左右兩個相機的內外引數,輸入左右影象以及一些其他引數,生成視差圖,可能是在內參或者外參標定的時候有問題,視差圖效果不好。
stitching.cpp 全景圖拼接,手機隨便拍了三張圖,在命令引數處輸入他們的地址,試了下效果還是可以,就是時間比較長用了一分多鐘。
stitching_detailed.cpp  也是全景圖拼接,可這個比較detail各種引數,實在不是幹這個的,就不試了。
videostab.cpp 電子穩像,在命令引數輸入一個畫面抖動的avi檔案,執行程式能自動生成畫面穩定的視訊,對的,就這麼神奇。各種引數多多我也不想深究。
watershed.cpp 分水嶺演算法。執行之後在影象上用滑鼠選取一些點,空格鍵即可執行 
cpp資料夾裡還有兩個沒試的演算法 一個是tvl1_optical_flow.cpp,另一個是tree_engine.cpp 這兩個都是機器學習的程式碼,以後專門寫一個吧。

相關推薦

opencv3.1demo介紹執行操作

3calibration.cpp 三個相機的標定,沒有三個相機,所以沒測試 autofocus.cpp 自動對焦,沒有這種相機,沒測試 bgfg_segm.cpp   混合高斯模型的前景背景分割 camshiftdemo.cpp camshift跟蹤,預設開啟攝像頭,滑鼠選中一個物體即可跟蹤 calibrat

opencv3.1demo介紹執行操作

下列實驗基本都試過,有些需要根據自己的電腦修改一些路徑或者除錯引數.        值得注意的是,控制檯程式輸入有時候要在影象所在的視窗輸入相應的指令。我的電腦上安裝了vs2013和2015. vs2015+opencv3.1/2.4.9在我的電腦上經常有這個錯誤:xx

mybatis配置緩存第三方緩存

word 序列化 efault slf4j nbsp javase image html 自身 參考:https://mybatis.github.io/mybatis-3/zh/sqlmap-xml.html, http://www.yihaomen.com/articl

HTML5的定義屬性data-*詳細介紹JS操作實例

select 文章 red data scrip style box 實例 width 這篇文章主要介紹JS操作HTML自定義屬性的方法, 以實例形式分析了html中自定義屬性的設置與對應的javascript操作技巧 具體如下: HTML代碼如下(其中的d

opencv3.3的traincascade.exe訓練LBP特征的分類器

不能 有效 格式 aar file jpg for rotation 方差 opencv3.3中有可以訓練分類器opencv_traincascade.exe,可以用HAAR、LBP和HOG特征訓練分類器。 這個函數都可以在opencv\build\x64\vc14\bin

Yii2學習筆記1--Yii2的基本介紹Composer安裝

writing req project 學習 png ive iis too 使用   Yii 是一個高性能的,以快速,安全,專業著稱 , 適用於開發 WEB2.0 應用的 PHP 框架 。自帶了豐富的功能 ,包括 MVC,DAO/ActiveRecord,I18N/L10

DRF的RequestResponse物件

# 轉載請留言聯絡 1.Request物件 DRF傳入檢視的request物件,不再是Django預設的HttpRequest物件,而是擴充套件了HttpRequest類的Request類的物件。 REST framework 提供了Parser解析器,在接收到請求後會自動根據Content-Type指

DRF的RequestResponse對象

type mod 服務器錯誤 per framework ade 常用屬性 leg 類構造 # 轉載請留言聯系 1.Request對象 DRF傳入視圖的request對象,不再是Django默認的HttpRequest對象,而是擴展了HttpRequest類的Request

python導入模塊定義模塊

所有 自帶 .py print 參考資料 資料 int 普通 不同 模塊就是已經開發好的代碼功能,自己直接導入進來,直接使用。導入分為python 或selenium 自帶的模塊和自己寫的自定義模塊,下面根據這兩個方向寫一下分別導入的方法。 1.導入自帶模塊import s

Laravel-開箱登陸註冊資料填充

Laravel的安裝在這裡就不再敘述了,如果是剛開始學習的同學可以先看下我的:Laravel的安裝 裡面有寫詳細的安裝步驟,包括指定版本的安裝。重申一次,建議使用composer安裝。 寫這篇文章主要是因為在另一篇登入註冊解析裡面發現有的同學初次安裝完laravel之後,並不能很快的

1.0-併發程式設計-程序執行緒簡介

程序程序是資源(CPU、記憶體等)分配的基本單位,它是程式執行時的一個例項。程式執行時系統就會建立一個程序,併為它分配資源,然後把該程序放入程序就緒佇列,程序排程器選中它的時候就會為它分配CPU時間,程式開始真正執行。 執行緒執行緒是程式執行時的最小單位,它是程序的一個執行流,是CPU排程和分派的基本單位,

硬體持之以恆-06-OrCAD Capture介紹

(1)Amplifier.OLB共182個零件, 存放模擬放大器IC,如CA3280,TL027C,EL4093等。 (2)Arithmetic.OLB共182個零件, 存放邏輯運算IC,如TC4032B,74LS85等。 (3)ATOD.OLB共618個零件, 存放A/D轉換IC,如A

(增加虛擬機器)安裝lite的benchmark使用方法

開發tensorflow lite,這裡使用的是android studio。   一、安裝JAVA JDK 在安裝android studio前,需要安裝JAVA JDK,因為android是JAVA語言。 1、安裝java jdk,只需要下面3條命令: &nb

在Ubuntu系統上停止使用Anaconda及的Python解除安裝Anaconda

一、停止使用Anaconda(包括Anaconda帶有的Python環境) 由於Anaconda在安裝過程中也會安上自帶的Python,而Ubuntu系統自帶有Python2.7環境,如果Anaconda安裝的是Python3,會將Python2.7版本覆蓋掉。

win10ubuntu開啟安裝pip過程記錄

開啟win10自帶ubuntu 進入【設定--更新和安全--針對開發人員模式】,選擇開發人員模式,等待系統自動安裝,安裝完成後,提示“已安裝開發人員模式程式包...”,如下圖所示。 控制面板--程式--程式和功能--啟用或關閉windows功能,勾選適用於Linux的windows子系

玩轉iOS開發:《使用系統的UIActivityViewControllerUIActivity進行內容分享》

目錄 簡介 這段時間有很多朋友都問我關於怎麼去整合ShareSDK或者友盟社會化分享SDK的問題, 其實我想說, Apple一開始就提供了一個類, 供我們去使用分享了, 在iOS 6之後更加增強了這個類, 使我們不再需要整合第三方的, 而且還支援自定義分享的item. 作者感言 在我寫這篇文章的時

NET快取框架CacheManager在混合式開發框架中的應用(1)-CacheManager的介紹使用 基於C#的MongoDB資料庫開發應用(4)--Redis的安裝及使用

在我們開發的很多分散式專案裡面(如基於WCF服務、Web API服務方式),由於資料提供涉及到資料庫的相關操作,如果客戶端的併發數量超過一定的數量,那麼資料庫的請求處理則以爆發式增長,如果資料庫伺服器無法快速處理這些併發請求,那麼將會增加客戶端的請求時間,嚴重者可能導致資料庫服務或者應用服務直接癱瘓。快取方案

.NET快取框架CacheManager在混合式開發框架中的應用(1)-CacheManager的介紹使用 基於C#的MongoDB資料庫開發應用(4)--Redis的安裝及使用

在我們開發的很多分散式專案裡面(如基於WCF服務、Web API服務方式),由於資料提供涉及到資料庫的相關操作,如果客戶端的併發數量超過一定的數量,那麼資料庫的請求處理則以爆發式增長,如果資料庫伺服器無法快速處理這些併發請求,那麼將會增加客戶端的請求時間,嚴重者可能導致資料庫服務或者應用服務直接癱瘓。快取方案

kafka的slf4jlogback衝突

專案本來使用的是logback來寫日誌,後來有新的需求,需要用kafka,然後我就在Maven中引入了kafka的jar,整個專案都開發完了,放到生產環境了,然後突然有一天我說去看一下日誌,然後就尷尬,很久都沒有日誌了。 首先,我去查了日誌伺服器,剛開始以為是日誌伺服器滿了,但是日誌伺

vivado使用IP核建立自己定義的IP核

任務:使用vivado自帶IP和建立IP 目的:學會使用Vivadao相關的IP元件 步驟: 1.使用自帶IP 工程建立好之後,選擇IP Catalog。軟體就會列出自帶的,自帶的IP核有很多種,選擇自己需要的,可以直接查詢。此處選擇FIFO作為例子