video scaler程序中出现的问题及解决方法

1.关于四字节对齐的问题

出现现象:如果不是4的倍数,图像呈黑白色倾斜,然后有斜纹出现。

解决方法:对其做处理,不是4的倍数的时候,添0补齐。

结果:彩色图片出来了,但是一条斜黑线仍然存在。

接着的解决方法:分配宽为4的倍数的内存wid_size1=(wid_size*BmpBit/8+3)/4*4;

pBmpBuffer=(unsigned char*)malloc(sizeof(unsigned char)*(wid_size1*height));

分配内存时自动给buffer初始化赋0,接着开始写buffer就行,但每行要跳过4的倍数的字节.

例如:for(j=0;j<wid_size;j++)
  {
   *(pBmpBuffer+i*wid_size1+j*3)=(unsigned char)(filter(*(filtern+chose[j]),(new_buffer_b+r_integal[j]),tap));
   *(pBmpBuffer+i*wid_size1+j*3+1)=(unsigned char)(filter(*(filtern+chose[j]),(new_buffer_g+r_integal[j]),tap));
   *(pBmpBuffer+i*wid_size1+j*3+2)=(unsigned char)(filter(*(filtern+chose[j]),(new_buffer_r+r_integal[j]),tap));     
  }

结果:perfect呵呵

2.关于调试过程中出现的乱码问题原因:传递的参数不对char型被转化为int型,造成取数据的时候出现错误。

3.出现现象:图像颜色过渡比较大的时候出现和图像色调不匹配的颜色块

  出现原因:数据经过filter以后因为返回值是int类型,对其进行强制转换unsigned char,没有考虑到滤波结果是负数或者大于255的现象。图像色彩取值为0~255

  解决方法:对齐进行判定,如果返回值小于0就使其为0;大于255,让其取255.

  结果:成功。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值