DM642学习点滴一:对例程VideoReverse的一点小思考

本文详细解释了在使用DM642进行图像处理时,如何正确处理数据类型转换以实现图像取反功能。通过实例分析,展示了将字符型数据转换为无符号整型数据的过程,以及如何利用位运算实现图像灰度取反。文章强调了对数据类型掌握的重要性,并提供了实际应用中的解决方案。
摘要由CSDN通过智能技术生成

前不久开始学习DM642,今天在看例程VideoReverse时,有处小小的疑惑。

如下是取反函数:

void ICETEKDM642PCIImageProcessReverse()
{
    int i;
    unsigned int *y;
    
    for ( i=0,y=(unsigned int *)nMemTemp;i<180;i++,y++ )
    	(*y)=~(*y);
}

因为取反只要把每个像素的Y分量单独取反即可实现,原理十分简单。而开发板默认显示视频大小为720×5764:2:2编码。那么一行应该还是720Y分量,这边怎么是180

原来这里nMemTemp被类型强制转换为 unsigned int(4字节),而定义的nMemTempunsigned char型。这么改了试试:

void ICETEKDM642PCIImageProcessReverse()
{
    int i;
    unsigned char*y;
    
    for ( i=0,y=nMemTemp;i<720;i++,y++ )
    	(*y)=~(*y);
}


重新编译链接下载运行,发现一样实现了图像灰度的取反。

看来对数据类型的掌握还不够。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值