700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Opencv中除了cv2.cvtColor彩色图转灰度图之外的其他6种方法

Opencv中除了cv2.cvtColor彩色图转灰度图之外的其他6种方法

时间:2022-08-08 08:49:22

相关推荐

Opencv中除了cv2.cvtColor彩色图转灰度图之外的其他6种方法

文章目录

1.参考文章:2.公式集成:3.代码实现:4.实验结果:

1.参考文章:

https://mp./s/jqVVZbZZRIqVt_Fs7HiUkg

2.公式集成:

3.代码实现:

import osimport cv2import queueimport threadingimport numpy as np#用户存取函数的返回值q=queue.Queue()def rgb2gray(image,method):h,w,c=image.shapegray=np.zeros((h,w),dtype=np.uint8)y=0for row in range(h):for col in range(w):#Opencv读取出的图片格式为BGRb,g,r=np.int32(image[row,col])if method==1:y=0.299*r+0.587*g+0.114*bif method==2:y=(max([r,g,b])+min([r,g,b]))//2if method==3:y=(r+g+b)//3if method==4:y=0.21*r+0.72*g+0.07*bif method==5:y=max([r,g,b])if method==6:y=min([r,g,b])gray[row,col]=y# return grayq.put((gray))if __name__ == '__main__':print('Pycharm')curr_path=os.getcwd()+'\\5.jpg'print(curr_path)image=cv2.imread(curr_path)cv2.imshow('BGR: ',image)#opencv提供的转灰度图的方法gray_cvColor=cv2.cvtColor(image,cv2.COLOR_BGRA2GRAY)cv2.imshow('gray_cvColor',gray_cvColor)gray1=rgb2gray(image,1)gray2 = rgb2gray(image, 2)gray3 = rgb2gray(image, 3)gray4 = rgb2gray(image, 4)gray5 = rgb2gray(image, 5)gray6 = rgb2gray(image, 6)cv2.imshow('一般转换方法',gray1)cv2.imshow('亮度优化转换', gray2)cv2.imshow('平均亮度转换', gray3)cv2.imshow('权重亮度转换', gray4)cv2.imshow('最大亮度转换', gray5)cv2.imshow('最小亮度转换', gray6)cv2.waitKey(0)cv2.destroyAllWindows()

4.实验结果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。