今天上午,需要查看opencv的cvColor函數的源代碼,之前雖然經常使用opencv庫來做一些圖像相關的處理,但是并沒有查看過opencv的源代碼,經過一些查找,主要有下面的兩種方法: 1. 使用cmake。我們知道,我們在官網上下載的完整版的opencv一般會有build和sources兩個文件夾,如果我們僅僅是要使用opencv庫,那么build文件夾足矣。而如果是要查看opencv的源代碼,則需要sources文件夾,但是sources文件夾中只是一些零散的文件,用Visual Studio隨便打開一個.cpp文件,隨便選擇一個函數點擊右鍵,發現并不能“查看定義”,原因在于:所有的源文件之間還沒有建立聯系,即還沒有建立工程文件,而cmake就是來做這樣一件事情的。具體的可以參考下面的這篇博文: link; 2. 使用opencv官網+Visual Studio的方式。
第2種方法是我接下來要著重介紹的,有時候,我們懶得去使用cmake,或者,我們在使用別人的電腦,只是突然之間靈光一閃,想要看一看一個函數的源碼,下面,我以查看cvCanny這個函數的源代碼為例,按照下面的步驟來進行(電腦上需要有opencv的sources文件夾以及Visual Studio或者相似功能的IDE): 1. 首先,確定cvCanny函數所在的模塊。如果你已經知道cvCanny函數位于opencv的imgPRoc模塊,那么可以忽略此步驟,如果不知道,則可以通過opencv的官網查看cvCanny函數所在的模塊: 打開opencv官網——DOCUMENTATION——REFERENCE——搜索cvCanny關鍵字 可以搜索到下面的內容: 然后點擊搜索到的cvCanny函數,便會出現一個新的頁面,當然我們的目的是確定cvCanny函數所在的模塊,我們發現,新出現的頁面的網址中:
有“modules/imgproc”這樣的一小部分,所以我們可以知道,cvCanny函數是屬于imgproc模塊。那么,知道cvCanny函數所在的模塊之后,下一步要做什么呢?請繼續往下看。 2. 使用Visual Studio進行源碼搜索。打開Visual Studio,在: 編輯——查找和替換——在文件中查找 進行如下的輸入:
查找的內容當然就是cvCanny,而查找的范圍就是sources/modules/imgproc/src 到這里,可以知道,上面步驟1確定函數所在的模塊是為了縮小查找的范圍,加快查找的速度。 查找得到如下的結果:
這個時候,雙擊相應的行就可以查看cvCanny函數所對應的源碼了!
到這里,就完成了對“用opencv官網+Visual Studio”查看opencv函數源代碼這種方法的介紹。 還是上面說的,這種方法主要是方便懶得使用cmake或者只是偶爾靈光一閃想看看源代碼的朋友,如果是想系統地查看源代碼,當然還是得用cmake建立起相應的工程文件,查看起來才能比較方便。
新聞熱點
疑難解答