不同深度的图片转换cvConvertScale

不同深度图像的转换:
要注意范围
比如IPL_DEPTH_8U 转到 IPL_DEPTH_32U
要用cvConvertScale(pImg8, pImg32, 1.0/255, 0); 要除255
反过来IPL_DEPTH_32F 到 IPL_DEPTH_8U
要:cvConverScale(pImg32, pImg8, 255, 0);要乘以255

其实这上面的两个例子很多人都没弄明白 都是相互抄袭,最搞笑的是第二个举例很多都写的是要乘以2,实在愚蠢之极

下面对这个函数的解释是通过百度的得到的,好好看看你就能明白了

CVAPI(void) cvConvertScale( const CvArr* src, CvArr* dst,
double scale CV_DEFAULT(1),
double shift CV_DEFAULT(0) );
src  输入数组.  
dst 输出数组 
scale 比例因子.
shift  该加数被加到输入数组元素按比例缩放后得到的元素上 
  函数 cvConvertScale 有多个不同的目的因此就有多个同义函数(如上面的#define所示)。该函数首先对输入数组的元素进行比例缩放,然后将shift加到比例缩放后得到的各元素上,即: dst(I)=src(I)*scale + (shift,shift,...),最后可选的类型转换将结果拷贝到输出数组。 
  多通道的数组对各个通道是独立处理的。 
  类型转换主要用舍入和溢出截断来完成。也就是如果缩放+转换后的结果值不能用输出数组元素类型值精确表达,就设置成在输出数组数据轴上最接近该数的值。 
  如果 scale=1, shift=0 就不会进行比例缩放. 这是一个特殊的优化 。如果原来数组和输出数组的类型相同,这是另一种特殊情形,可以被用于比例缩放和平移矩阵或图像,此时相当于该函数的。

转载于:https://www.cnblogs.com/haoxing990/p/4593665.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值