原创 protoc-gen-grpc-c++插件生成

在正片開始前,我有必要吐槽一句。。。 很複雜的經歷,在配置nvidia::inferenceserver客戶端的時候,不得不包含上~~~某某grpc.ph.h的頭文件, 然後很“欣慰”的是並沒有,因爲一般這種東西源碼是不會有的,所以我很習

原创 OpenCV——漏洞篇(一)——卷積核

作爲程序員,最常常遇到的情況就是自己所想的和寫出來的程序運行結果大相徑庭。原因有多種,可能是經驗的偏差,語法錯誤,或者一些別的情況。所以我心血來潮的想寫一些記錄,方便自己查閱,也分享給你們。 ps:有的漏洞,我會說明原因,有的則沒有,也希

原创 OpenCV超簡單且有趣的人臉識別

拖更好久了,因爲懶麼。其實主要是不知道寫什麼。。。 想了想寫了挺多機器視覺裏特徵識別的代碼。總感覺少了人臉識別有些怪。那麼就進入正題吧。 直接引用opencv裏面的demo #include "opencv2/objdetect.hp

原创 C++實現——最小距離分類器(k近鄰算法)

採用的樣本是非常經典的鳶尾花數據。 鳶尾花分爲三類: 1、setosa 2、versicolor 3、virginica 已知數據集的特徵分爲: 1、萼片長度 2、萼片寬度 3、花瓣長度 4、花瓣寬度   在講算法之前,我們首先應該給距離

原创 OpenCV(五)——超細節的Canny原理及算法實現

繼上一章承諾,編寫這一章。 原因呢,是這樣,在實際項目中,用到canny很少,我總覺得它對於細節邊緣過於詳盡。 我們知道,opencv提供的算法庫,內部核心算法是定死的,你只能通過調節參數來測試。 如果你不知道原理,估計這次調好了,下次又

原创 OpenCV(六)——Hough檢測圓原理及算法實現

 hough檢測圓的思路: (1)圖像中取出圓的輪廓(灰度值爲255) (2)根據圓的極座標公式: 現在已知的是圓上的點,則x,y已知,反推出x0 和 y0(圓心的位置)。 的範圍是0~360度,不過注意要轉化成弧度。 (3)投票機制

原创 OpenCV(四)——你熟悉卻不知道原理的“邊緣“識別

在圖像處理中我們時常需要將物體分割出來,或者區分前後景,等等。 在這些問題中,邊緣似乎是不可避免的問題,如何取一個你認爲對的“邊緣”是至關重要的。 綜上提出了“如何取邊緣”的問題。 那麼,首先爲了解題,我們需要知道何謂“邊緣”,換言之,邊

原创 Boost(九)——文件系統

結合Boost官網 這一章比較簡單,沒有什麼特別重要的需要總結。 直接上習題把: 1、創建一個程序,該程序爲位於應用程序當前工作目錄的上一層目錄中的一個名爲 data.txt 的文件創建一個絕對路徑。 例如,如果該程序從 C:\Progr

原创 Boost(十)——日期和時間

結合Boost官網 該庫的發明是根據教皇 Gregory XIII 在1582年頒發的格里曆。這個曆法也是當前使用最廣泛的。 庫名字就是這麼來的:boost::gregorian::... 獲取當前時間: boost::gregoria

原创 Boost(八)——進程間通訊

結合Boost官網 使用的是boost::interprocess庫。 共享內存通常是進程間通訊最快的形式。 boost::interprocess::shared_memory_object 託管共享內存 boost::interpro

原创 Boost(七)——異步輸入輸出

結合Boost官網 異步任務的典型例子是網絡應用。 不要綁定多個線程到單個 I/O 服務,而是創建多個 I/O 服務。 然後每一個 I/O 服務使用一個線程。 如果 I/O 服務的數量與系統的處理器內核數量相匹配,則異步操作都可以在各自的

原创 Boost(六)——多線程

結合Boost官網 多線程的難點在於同步執行,需要“鎖”控制所有權。 鎖有分:互斥鎖,條件變量... 互斥鎖:boost::mutex 獲取和釋放成對存在,也可以用boost::lock_guard<boost::mutex> lock(

原创 Boost(五)——字符串處理(四):格式化輸出操作

講解 格式化輸出庫 -> Boost.Format %佔位符 #include <boost/format.hpp> #include <iostream> using namespace std; int main() { co

原创 C++——智能指針

你可能經常性的幹如下的事情。 void remodel(std::string & str) { std::string *ps = new std::string(str); str = ps; re

原创 Boost(一)——Boost簡介

    Boost C++ 庫 是一組基於C++標準的現代庫。 其源碼按 Boost Software License 來發布,允許任何人自由地使用、修改和分發。 這些庫是平臺獨立的,且支持大多數知名和不那麼知名的編譯器。     Boo