原创 Windows下獲取視頻設備的一種改進實現

之前在https://blog.csdn.net/fengbingchun/article/details/102806822中介紹過在Windows下獲取視頻設備列表的方法。其實那種實現方法是有缺陷的,當PC機上連接多個視頻設備,並且其

原创 模仿視頻抓幀實現

路口或某些場所可能並不會把從攝像頭獲取到的視頻全部存儲下來或對所有的視頻幀進行處理,即攝像設備是一直處於打開狀態,可能會根據需要間隔性的抓取其中一幀,或當某事件觸發時纔會抓取當前的一幀數據進行處理。這裏使用兩個線程來模仿此場景。主線程用於

原创 C和C++安全編碼筆記:指針詭計

指針詭計(pointer subterfuge)是通過修改指針值來利用程序漏洞的方法的統稱。 可以通過覆蓋函數指針將程序的控制權轉移到攻擊者提供的外殼代碼(shellcode)。當程序通過函數指針執行一個函數調用時,攻擊者提供的代碼將會取

原创 C和C++安全編碼筆記:字符串

1. 安全概念 計算機安全(computer security):指的是阻止攻擊者通過未授權訪問或未授權使用計算機和網絡達到目的。安全包含開發和配置兩方面的元素。開發安全要求具有安全的設計和無瑕疵的實現;配置安全則要求系統和網絡被安全地予

原创 Windows下獲取usb視頻設備vendor id和product id的4種方法

之前在https://blog.csdn.net/fengbingchun/article/details/103507754 博文中介紹過如何在Linux獲取usb視頻設備的vendor id和product id,這裏介紹在Windo

原创 C++ API設計筆記

《C++ API設計》原英文版由Martin Reddy著,中文版出版於2013年,這裏是中文版的筆記。 1. API簡介 1.1 什麼是API:API(Application Programming Interface)提供了對某個問題

原创 Effective Modern C++42招獨家技巧助你改善C++11和C++14的高效用法筆記

Scott Meyers大師Effective三部曲:Effective C++、More Effective C++、Effective STL,這三本書出版已很多年,後來又出版了Effective Modern C++。 Effect

原创 C++11中std::future的使用

C++11中的std::future是一個模板類。std::future提供了一種用於訪問異步操作結果的機制。std::future所引用的共享狀態不能與任何其它異步返回的對象共享(與std::shared_future相反)( std:

原创 C++11中std::promise的使用

C++11中的std::promise是個模板類。一個std::promise對象可以存儲由future對象(可能在另一個線程中)檢索的T類型的值或派生自std::exception的異常,並提供一個同步點。 在構造std::promis

原创 C++中關鍵字volatile和mutable用法

C/C++中的volatile關鍵字和const對應,用來修飾變量,用於告訴編譯器該變量值是不穩定的,可能被更改。使用volatile注意事項: (1). 編譯器會對帶有volatile關鍵字的變量禁用優化(A volatile spec

原创 C++11中std::shared_future的使用

C++11中的std::shared_future是個模板類。與std::future類似,std::shared_future提供了一種訪問異步操作結果的機制;不同於std::future,std::shared_future允許多個線

原创 C++11中std::async的使用

C++11中的std::async是個模板函數。std::async異步調用函數,在某個時候以Args作爲參數(可變長參數)調用Fn,無需等待Fn執行完成就可返回,返回結果是個std::future對象。Fn返回的值可通過std::fut

原创 Effective C++改善程序與設計的55個具體做法筆記

Scott Meyers大師Effective三部曲:Effective C++、More Effective C++、Effective STL,這三本書出版已很多年,後來又出版了Effective Modern C++。 這裏是Eff

原创 OpenCV代碼提取:Windows上通過DShow獲取Camera視頻

在OpenCV 3.1中獲取視頻的模塊在videoio(video input and output module)中,調用VideoCapture類接口,除了videoio模塊外還依賴core、highgui、imgproc、imgco

原创 C語言中select函數簡介及使用

select函數用來檢查套接字描述符(sockets descriptors)是否已準備好讀/寫,提供了一種同時檢查多個套接字的方法。 Linux中select函數的聲明在/usr/include/x86_64-linux-gnu/sys