颜色空间转换:cvtColor()   

C++

void  cvtColor(InputArray src, OutputArray dst, intcode, int dstCn = 0);

(1)第一个参数:输入图像

(2)第二个参数:输出图像

(3)第三个参数:颜色空间转换的标识符(具体见下表)

(4)第四个参数:目标图像的通道数,若该参数为0,表示目标图像取源图像的通道数。

cvtColor()函数可以实现RGB颜色向HSVHSI等颜色空间转换,也可以转换为灰度图像。

示例:

cvtColor(srcImage,dstImage, COLOR_GRAY2BGR);     //转换原始图为灰度图

OpenCV常用的处理图片的函数总结与详解

OpenCV常用的处理图片的函数总结与详解

OpenCV常用的处理图片的函数总结与详解

OpenCV2CV_前缀的宏命名规范,被OpenCV3中的COLOR_式的宏命名前缀所取代。

谨记:OpenCV默认的图片通道存储顺序是BGR,而不是RGB


threshold ()

通过遍历灰度图中点,将图像信息二值化,处理过后的图片只有二种色值。

 其函数原型如下:

doublethreshold(InputArray src, OutputArray dst, double thresh, double maxval, inttype)

参数信息:

1)第一个参数,InputArray类型的src,输入数组,填单通道 , 832位浮点类型的Mat即可。

2)第二个参数,OutputArray类型的dst,函数调用后的运算结果存在这里,即这个参数用于存放输出结果,且和第一个参数中的Mat变量有一样的尺寸和类型。

3)第三个参数,double类型的thresh,阈值的具体值。

4)第四个参数,double类型的maxval,当第五个参数阈值类型type THRESH_BINARY THRESH_BINARY_INV阈值类型时的最大值.

5)第五个参数,int类型的type,阈值类型,

 

其它参数很好理解,我们来看看第五个参数,第五参数有以下几种类型

0: THRESH_BINARY(二进制阈值)  当前点值大于阈值时,取Maxval(即第四个参数),否则设置为0

1:THRESH_BINARY_INV(反二进制阈值)当前点值大于阈值时,设置为0,否则设置为Maxval

2:THRESH_TRUNC (截断阈值)当前点值大于阈值时,设置为阈值,否则不改变

3:THRESH_TOZERO (阈值化为0)当前点值大于阈值时,不改变,否则设置为0

4:THRESH_TOZERO_INV  (反阈值化为0)当前点值大于阈值时,设置为0,否则不改变

getRectSubPix函数

函数作用:

从原图像中提取提取一个感兴趣的矩形区域图像

函数调用形式:

C++: void getRectSubPix(InputArray image,Size patchSize, Point2f center, OutputArray patch,int patchType=-1 )

 

参数理解:

InputArray image:输入图像

Size patchSize:获取矩形的大小

Point2f center:获取的矩形在原图像中的位置

OutputArray patch:表示输出的图像

int patchType=-1 :表示输出图像的深度

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-15
  • 2022-12-23
  • 2021-06-24
  • 2022-12-23
  • 2021-12-17
  • 2022-12-23
猜你喜欢
  • 2022-01-03
  • 2022-12-23
  • 2022-12-23
  • 2021-12-30
相关资源
相似解决方案