opencv常用函数汇总

一、色彩空间类型转换

1、cv2.cvtColor

dst = cv2.cvtColor( src, code [, dstCn] )

式中:

dst 表示输出图像,与原始输入图像具有同样的数据类型和深度。 

src 表示原始输入图像。可以是8位无符号图像、16位无符号图像,或者单精度浮点数等。

code 是色彩空间转换码,表4-2展示了其枚举值。

dstCn 是目标图像的通道数。如果参数为默认的 0,则通道数自动通过原始输入图像和 code 得到。

2、HSV色彩表

opencv常用函数汇总_第1张图片

3、cv2.inRange

dst = cv2.inRange( src, lowerb, upperb ) 

式中:

 dst 表示输出结果,大小和src一致。

 src 表示要检查的数组或图像。

 lowerb 表示范围下界。

 upperb 表示范围上界。 返回值dst 与src 等大小,其值取决于src中对应位置上的值是否处于区间[lowerb,upperb] 内:

 如果src值处于该指定区间内,则dst中对应位置上的值为255。  如果src值不处于该指定区间内,则dst中对应位置上的值为0。

确定颜色区域 

mask = cv2.inRange(hsv, lower, upper)

二、阈值处理

1、cv2.threshold()

retval, dst = cv2.threshold( src, thresh, maxval, type ) 

 retval 代表返回的阈值。

 dst 代表阈值分割结果图像,与原始图像具有相同的大小和类型。

 src 代表要进行阈值分割的图像,可以是多通道的,8位或32位浮点型数值。

 thresh 代表要设定的阈值。

 maxval 代表当type参数为THRESH_BINARY或者THRESH_BINARY_INV类型时,需要设定的最大值。

 type 代表阈值分割的类型

二值化阈值处理(cv2.THRESH_BINARY)

所有大于127的像素点会被处理为255。 其余值会被处理为0。

t,rst=cv2.threshold(img,127,255,cv2.THRESH_BINARY)
import cv2 
img=cv2.imread("lena.bmp") 
t,rst=cv2.threshold(img,127,255,cv2.THRESH_BINARY) 
cv2.imshow("img",img) 
cv2.imshow("rst",rst) 
cv2.waitKey() 
cv2.destroyAllWindows()

2、cv2.adaptiveThreshold() 自适应阈值处理

dst = cv.adaptiveThreshold( src, maxValue, adaptiveMethod, thresholdType, 
blockSize, C ) 
athdGAUS=cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.TH
 RESH_BINARY,5,3)

 dst 代表自适应阈值处理结果。

 src 代表要进行处理的原始图像。需要注意的是,该图像必须是8位单通道的图像。

 maxValue 代表最大值。

 adaptiveMethod 代表自适应方法。

 thresholdType 代表阈值处理方式,该值必须是 cv2.THRESH_BINARY 或者cv2.THRESH_BINARY_INV 中的一个。

 blockSize 代表块大小。表示一个像素在计算其阈值时所使用的邻域尺寸,通常为3、5、 7 等。

 C是常量。

函数cv2.adaptiveThreshold()根据参数 adaptiveMethod 来确定自适应阈值的计算方法,函数 包含cv2.ADAPTIVE_THRESH_MEAN_C 和 cv2.ADAPTIVE_THRESH_GAUSSIAN_C 两种不

你可能感兴趣的:(opencv,计算机视觉)