cvConvertScale()函数的使用,该如何处理
cvConvertScale()函数的使用
我在读 《学习OpenCV》这本书,里面讲到 ”如果我们有一个 8 位的 RGB 灰度图像并想把它变为 16 位有符号的图像,就可以调用函数 cvConvertScale() 来做这个工作。“
我有连个问题,一个是:既然是RGB图像,为何又是灰度图像?灰度图像不是单通道的吗?但是我把网上的程序应用到RGB彩色图像上,发现也可以操作。
第二个问题是:网上用这个的时候,都将 scale 项设为了 1/255.0 ,我明白这里的意思是将转换后的图像像素值限定在 0 到 255 之间,可是为什么这种转换会导致最后的像素值大于 255 呢?
------解决方案--------------------
没看到原文,估计表述问题吧。
这个函数本质处理只是 矩阵操作,所以用在彩色图片也没问题吧,只要类型设置对了。
scale 项设为了 1/255.0,是想把像素 规约到【0,1】的区间
不是0到255
我在读 《学习OpenCV》这本书,里面讲到 ”如果我们有一个 8 位的 RGB 灰度图像并想把它变为 16 位有符号的图像,就可以调用函数 cvConvertScale() 来做这个工作。“
我有连个问题,一个是:既然是RGB图像,为何又是灰度图像?灰度图像不是单通道的吗?但是我把网上的程序应用到RGB彩色图像上,发现也可以操作。
第二个问题是:网上用这个的时候,都将 scale 项设为了 1/255.0 ,我明白这里的意思是将转换后的图像像素值限定在 0 到 255 之间,可是为什么这种转换会导致最后的像素值大于 255 呢?
------解决方案--------------------
没看到原文,估计表述问题吧。
这个函数本质处理只是 矩阵操作,所以用在彩色图片也没问题吧,只要类型设置对了。
scale 项设为了 1/255.0,是想把像素 规约到【0,1】的区间
不是0到255