YV12 轉換爲 灰度圖像 ,利用opencv進行二次開發

OpenCV能處理bmp格式位圖,也可以直接處理單通道的灰度圖的;你從海康採集卡獲得YV12的彩色圖象,
直接提取Y分量就成了
灰度圖。然後在OpenCV中創建單通道的I plI mage格式的圖象,就可以進行處理了:
流程及部分關鍵代碼:
1.獲得海康板卡的原始碼流YV12(彩色的),能得到圖象的寬度W,高度h,以及大小Siz e,圖象數據指針
pBuffer;
2.從原始的YV12數據幀提取Y(灰度)分量(做圖象的分析一般是先將圖象灰度化,以減少計算量)
int nYSiz e=w *h;                    //灰度圖象的大小==YV12中Y分量長度.
char *pYData =new  char [nYSiz e];
memcpy(pYData,pBuffer,nYSiz e);     //pYData就是一幀灰度圖;這句以及上一句可以省略,爲了你能看的
更清楚點。
3.創建單通道的I plI mage的圖象
I plI mage *pI plI mage=cvCreateI mage(cvSiz e(nWidth,nH eight),I PL_DEPTH _8U ,1);   //創建但通道的位深爲
8位的I plI mage格式的圖象
if(pI plI mage)
{
memcpy(pI plI mg->imageData,pYData,nYSiz e);
}
4.構造了一個I plI mage格式的圖象後,你就能做你想做的事情了
發佈了30 篇原創文章 · 獲贊 6 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章