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格式的图象后,你就能做你想做的事情了
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值