Python 官方文档:入门教程 => 点击学习
目录1.公式集成:2.代码实现:3.实验结果:4.参考文章:1.公式集成: 2.代码实现: import os import cv2 import queue import thr
import os
import cv2
import queue
import threading
import numpy as np
#用户存取函数的返回值
q=queue.Queue()
def rgb2gray(image,method):
h,w,c=image.shape
gray=np.zeros((h,w),dtype=np.uint8)
y=0
for row in range(h):
for col in range(w):
#OpenCV读取出的图片格式为BGR
b,g,r=np.int32(image[row,col])
if method==1:
y=0.299*r+0.587*g+0.114*b
if method==2:
y=(max([r,g,b])+min([r,g,b]))//2
if method==3:
y=(r+g+b)//3
if method==4:
y=0.21*r+0.72*g+0.07*b
if method==5:
y=max([r,g,b])
if method==6:
y=min([r,g,b])
gray[row,col]=y
# return gray
q.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()
https://mp.weixin.qq.com/s/jqVVZbZZRIqVt_Fs7HiUkg
到此这篇关于Opencv中cv2.cvtColor彩色图转灰度图的其他6种方法的文章就介绍到这了,更多相关Opencv cv2.cvtColor彩色图转灰度图内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Opencv中cv2.cvtColor彩色图转灰度图的其他6种方法
本文链接: https://www.lsjlt.com/news/118260.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0