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