Opencv中cv2.cvtColor彩色圖轉(zhuǎn)灰度圖的其他6種方法
1.公式集成:

2.代碼實現(xiàn):
import os
import cv2
import queue
import threading
import numpy as np
#用戶存取函數(shù)的返回值
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提供的轉(zhuǎn)灰度圖的方法
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('一般轉(zhuǎn)換方法',gray1)
cv2.imshow('亮度優(yōu)化轉(zhuǎn)換', gray2)
cv2.imshow('平均亮度轉(zhuǎn)換', gray3)
cv2.imshow('權(quán)重亮度轉(zhuǎn)換', gray4)
cv2.imshow('最大亮度轉(zhuǎn)換', gray5)
cv2.imshow('最小亮度轉(zhuǎn)換', gray6)
cv2.waitKey(0)
cv2.destroyAllWindows()
3.實驗結(jié)果:








4.參考文章:
https://mp.weixin.qq.com/s/jqVVZbZZRIqVt_Fs7HiUkg
到此這篇關(guān)于Opencv中cv2.cvtColor彩色圖轉(zhuǎn)灰度圖的其他6種方法的文章就介紹到這了,更多相關(guān)Opencv cv2.cvtColor彩色圖轉(zhuǎn)灰度圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實現(xiàn)讀取excel寫入mysql的小工具詳解
EXCEL 和 MySQL 大體上來說都可以算是"數(shù)據(jù)庫",MySQL貌似有EXCEL的接口,但是最近在自學(xué)Python,用Python實現(xiàn)了一下,下面這篇文章主要給大家介紹了關(guān)于利用python實現(xiàn)讀取excel寫入mysql的一個小工具,需要的朋友可以參考下。2017-11-11
Python實現(xiàn)將Excel內(nèi)容插入到Word模版中
前段時間因為需要處理一大堆驗收單,都是一些簡單的復(fù)制粘貼替換工作,于是就想到用python進(jìn)行處理。本文分享了用python將excel文件單元格內(nèi)容插入到word模版中并保存為新文件的辦法,希望對大家有所幫助2023-03-03
Python實戰(zhàn)之IQ測試系統(tǒng)的實現(xiàn)
通常,智商測試測驗一個人在數(shù)字、空間、邏輯、詞匯、創(chuàng)造、記憶等方面的能力。本文將利用Python實現(xiàn)一個IQ測試系統(tǒng),感興趣的可以了解一下2022-09-09
基于python實現(xiàn)rpc遠(yuǎn)程過程調(diào)用
本文主要介紹了基于python實現(xiàn)rpc遠(yuǎn)程過程調(diào)用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
python list等分并從等分的子集中隨機(jī)選取一個數(shù)
這篇文章主要介紹了python list等分并從等分的子集中隨機(jī)選取一個數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Python文件操作,open讀寫文件,追加文本內(nèi)容實例
本篇文章主要介紹了Python文件操作,open讀寫文件,追加文本內(nèi)容,具有一定的參考價值,有需要的可以了解一下。2016-12-12

