我的OpenCV學習筆記(一):OpneCV中的資料共用機制

OpenCV是一個很不錯的開源電腦視覺庫。我自己已經玩了一段時間了,決定把一些學習成果整理出來,分享給大家。學習OpenCV最好的助手當然是opencv內建的手冊和教程了。手冊是英文版的,方便尋找函數。教程有部分是中文版的,也有一部分沒有漢化。可以通過網址:http://www.opencv.org.cn/opencvdoc/2.3.2/html/index.html查看。這次主要是想說一個opencv中的資料共用機制。先看程式: #include

離散數學視頻、書籍推薦及學習體會

轉眼之間開學也兩個月了,中間因為一些雜七雜八的噁心的事情,耽誤了一個月左右的功夫,其他時間基本都是在學離散數學,現在也基本學完了,對學習內容、方法、書籍做一下小結。第一,離散數學到底包含哪些內容?傳統的講法,包括數理邏輯、集合論、代數系統和圖論;有的書籍還包含組合數學、數論、甚至離散機率論等等內容。這些內容,其實每一部分單獨開設一門課講授,都是不為過的,所以想要在一本書中把它們都盡善盡美的表述清楚是不可能的。對於用哪本書,怎麼學的確是一個大問題。我的學習方法基本上是視頻+書籍。視頻我完整的看過兩

資料結構與演算法學習心得

資料結構與演算法的內容還有很多。但是由於時間的關係,我並沒有深入下去,尤其是尋找時用到的平衡二叉樹、B_和B+樹,還有紅/黑樹狀結構等等。希望以後有時間可以繼續看。首先,簡要回顧一下學習的內容。簡單的說,是“3+2”:3中資料結構:線性結構、樹、圖;2種演算法:尋找、排序。其中線性結構又可以分為順序表、鏈表、隊列、棧,它們在平時有著更加廣泛的應用。而樹、圖則在解決一些特定的演算法時更加管用。其次,資料結構並不是死的:你可以根據自己的需要定製資料結構的成員。而這些成員又決定了對應於這種結構的演算法

我的OpenCV學習筆記(二):操作每個像素

首先推薦一本書:《OpenCV 2 Computer Vision Application Programming

VC++深入詳解(13):詳細分析控制台應用程式下的多線程輸出

最近寫了了個問題很多的多線程程式,在裡面我沒有使用互斥對象,用它來探索多線程程式到底是如何啟動並執行,在眾多網友的協助下,得到了很多有意義的結果,現整理如下。(如果有錯誤的觀點,敬請批判)首先說明,我的筆記本是雙核的,編譯器是VS2010:int main(){HANDLE hThread =(HANDLE) _beginthreadex(NULL, 0, Fun1Proc, NULL, 0, NULL); CloseHandle(hThread); cout<<"main

InternetOpen/InternetOpenUrl/InternetReadFile 等相關Win32 網路API 使用詳細說明

摘要這篇技術性文章討論了如何利用Microsoft Win32網路函數建立一個網路瀏覽器。這篇文章的宗旨是讓讀者瞭解一些Win32網路函數的作用、能力和使用範圍,而不是為這些功能給出一個詳細的文檔。這篇文章所配合的SurfBear樣本應用程式使用Win32網路函數從網路伺服器上讀取HTML檔案,並把它們顯示成原始的、沒有經過格式化的文本。介紹不通過網路,你就無法瞭解我的一個朋友。電腦雜誌已經在internet上設定了電子期刊,而本地的報紙也已經把整個段落都放到了網路上。事實上,許多報紙都在聯機。

我的OpenCV學習筆記(23):Mat中實際資料是如何儲存的

看上去這是一個比較簡單的問題,在2.0以上的版本中,使用Mat類來儲存一幅映像。但是具體的說,Mat類中,又是如何儲存的呢?在opencv內建的協助手冊上有這麼一段話:通過這兩個式子,我們可以略知一二:首先,Mat不僅可以存映像,也可以用來存放其他高維的資料。資料存在data指標所指向的地址中的,對於高維資料(dim維),每個資料的地址是用上面式子算的;它的一個特例是2維資料(映像),式子簡化成了下面的那個公式。為了驗證公式的正確性,我寫了一個小測試程式:int main(void){Mat

我的OpenCV學習筆記(四):給映像加上浮水印效果

當兩幅映像尺寸相同時,給映像加上浮水印效果其實很簡單,就是簡單的將一幅映像加到另一幅映像上(兩幅映像乘以一定的係數就可以控制相加的效果):#include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>using namespace cv;int main(){Mat image1 = imread("D:/picture/images/boldt.jpg");Mat image2 = imread(

總結筆試題中的類、結構體的sizeof問題

1.空類的大小是1.class Empty{};int main(){cout<<sizeof(Empty)<<endl;}一個空類的大小是1,而不是0.這是為什麼呢,因為如果你定義了這個類的對象,那麼你得有它的記憶體位址才行,而如果它的大小為0,它就不佔記憶體位址了,所以,編譯器將它的大小設為了1.2.靜態成員不計入類的大小中class Empty{public:static int val;};int Empty::val = 1;int

K&R學習筆記 第六章

第六章講的是結構,它提供了一種方法,讓程式員通過組合已有的基本類型,構建自己的複雜類型的方法。結構支援的操作不多,只有複製和賦值、取地址、訪問其成員3種。對於複製和賦值,可以採用對於結構體的成員單個賦值的方法,也可以整體賦值,當結構體很大,複製產生的代價比較高昂時,也可以採用傳遞指標的方法。對於結構體的一些操作,我們要時刻牢記的是“.”,“->”,“()”,“[]”的優先順序是最高的。所以*p->str是對p結構的str成員解引,*p->str++是對str解引以後,在對str

鏈表逆置

這也是面試時常考的問題:pNode reverseList(pNode head){pNode p1;pNode p2;pNode p3;//如果為空白或者只有一個元素,直接返回if(head == NULL || head->pNext == NULL)return head;p1 = head;p2 = head->pNext;while(p2){p3 = p2->pNext;p2->pNext = p1;p1 = p2;p2 =

運行時類型識別

運行時的類型識別(RTTI)分為兩類:1.typeid操作符2.dynamic_cast操作符先看第二種:dynamic_cast完成將基類類型的指標或者引用安全轉化為衍生類別類型的指標和引用。對於指標,如果轉化失敗,則將指標置為NULL,對於參考型別,因為沒有NULL,所以直接拋出bad_cast異常。下面是對應的例子:#include <iostream>using namespace std;class Base1{public:virtual void

VC++深入詳解(15):簡單聊天工具的實現

我們看一個綜合例子:使用MFC來實現一個網路聊天軟體。看到這個例子有人可能覺得奇怪,前面網路編程時講到過一個類似的控制台應用程式的例子,為什麼要放在這裡?原因在於,前面的那個例子,我們必須是一個人說完就得等另一個人說,不能自己連續說,這是由它的實現代碼決定的;而我們這裡想實現的是“自由”的對話,可以在任意時間發送或者接收資料。這就需要我們這一小節的知識來幫忙了:我們可以利用一個線程來實現接收訊息。下面我們一步步開始完成,先設計程式的外觀:首先使用一個對話方塊應用程式,然後將對話方塊上的預設按鈕“

排序演算法1—插入排序、選擇排序、冒泡排序

排序演算法有很多,這裡先按照演算法的複雜程度由淺入深的介紹一些常用的排序演算法。1.插入排序:這是一種非常直觀的排序演算法。它的基本思路就是:從數組的第二個元素開始,依次取數組中的元素,將它與前面的的元素相比較,插入到這個元素的前面或者後面(這取決於你想從大往小排序還是從小往大排序)。然後再取下一個元素,跟前兩個已經有序的數比較,插入到合適的位置。依次類推。下面看一下程式://插入排序void insertSort(pArrayList list){int

我的OpenCV學習筆記(24):詳細討論OpenCV中的資料結構

最近在寫自己的演算法,其實就是對一些傳統演算法的改進。傳統演算法可以參考opecv的原始碼。在閱讀原始碼的過程中,我慢慢領會到了opencv的強大之處,並不是因為它實現了各種演算法,而是在於它對於基本資料結構的設計,是得其他人可以很方便的使用這些資料結構來實現自己的演算法。在協助手冊中,已經對於這些資料結構有比較詳細的描述了。今天我就為英語不好的孩子們服務一下,簡單的介紹一下它們。首先介紹2維點對Point_,它的是一個模板類。我們可以直接存取資料成員x,y。它不僅定了+、-、==、!=這4個基

完全總結__cdecl __fastcall, __stdcall,__thiscall

__cdecl __fastcall, __stdcall,__thiscall它們都是呼叫慣例(Calling

K&R學習筆記 第五章

指標可是C語言的精髓。本章一開始就用一個例子swap(交換兩個數的值)來說明。想想也奇怪,我本科階段學習C語言的時候其實很差的,這裡當時也是一團亂麻,形參、實參、指標這些東西怎麼也搞不懂,後來是自學了資料結構以後,就突然開竅了。指標聲明通常有兩種方法:int a = 0;int b = 0;int *pa = &a;int* pb =

排序演算法2-快速排序、歸併排序

快速排序的思路是這樣的:假如我從數組中挑出一個數(通常選為第一個數),那麼我總可以利用這個數把數組分為兩部分:大於這個數的部分和小於這個數的部分。然後對於這個兩部分,分別重複前面的步驟,直到每一部分都只剩下2個數為止,我們可以比較出來。一看就知道是一個遞迴的程式,但是程式的痛點在於:如何從用一個數把數組分為兩個部分呢?當然。你大可以用一個比較笨的辦法:搞一個臨時數組,然後把比較的結果放在數組裡,然後把數組在賦值給我們的數組。但是我這裡用了一個比較巧妙地辦法,通過一個臨時變數,就解決了問題://利

數學分析教程 第一章學習感受

我看的是常庚哲,史濟懷的《數學分析教程》(第三版),剛配合視頻看完第一章,裡面的練習題也做了一部分,先說一下感受。首先是關於實數方面的。感覺很難受,它並沒有建立嚴密的體系說明實數是什麼,但是花了很大的篇幅講了跟實數連續性相關的定理。相比之下,卓裡奇的《數學分析》一開始就用類似於抽象代數的的方法定義了實數域,讓人看著更加清爽。或許國內的書講到實變函數以後,才能更加精確的定義什麼是“實數”。我希望看到的是:公理、定義、定理、證明的方式。沒有說清楚的問題,不要含混的使用高中的東西。(個人學過一點《近世

K&R學習筆記 第一章

最近上班了,利用上下班的班車時間,我在路上幾乎看完了經典名著《C程式設計語言》。看完後的感覺就是:C語言不過如此!短短不到300頁內容,就涵蓋了C語言的方方面面,(有的內容我也是第一次才注意到)甚至穿插著講了棧、二叉樹、折半尋找、快速排序、雜湊表等資料結構與演算法的內容。代碼編寫非常精鍊,很適合有一定基礎的人提高自己的代碼水平。值得注意的是,這本書並沒有在後面列參考文獻或者值得推薦的讀物之類的,這種情況在西方學術界是十分罕見的。據我所知,陶哲軒的《實分析》也沒有列參考文獻,全書內容的選擇、每個定

總頁數: 61357 1 .... 12991 12992 12993 12994 12995 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.