欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決plt.imshow顯示cv2.imread讀取的圖像有色差發(fā)藍(lán)的四種方法問(wèn)題

 更新時(shí)間:2022年04月19日 10:49:12   作者:善良995  
本文主要介紹了解決plt.imshow顯示cv2.imread讀取的圖像有色差發(fā)藍(lán)的四種方法問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

原圖

在這里插入圖片描述

一、出現(xiàn)色差代碼

1.1 顯示彩色圖像出現(xiàn)色差

import cv2
import numpy as np
import matplotlib.pyplot as plt

img = cv2.imread('dog.jpg')
plt.xticks([]), plt.yticks([]) 		#隱藏x軸和y軸

plt.imshow(img)

運(yùn)行結(jié)果:

在這里插入圖片描述

1.2 顯示灰度圖像出現(xiàn)色差

img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

plt.xticks([]), plt.yticks([]) # 隱藏x和y軸

plt.imshow(img_gray)

運(yùn)行結(jié)果:

在這里插入圖片描述

二、解釋原因

2.1 彩色圖像出現(xiàn)色差原因

使用cv2.imread()讀取圖像時(shí),默認(rèn)彩色圖像的三通道順序?yàn)锽、G、R,這與我們所熟知的RGB中的R通道和B通道正好互換位置了。
而使用plt.imshow()函數(shù)卻默認(rèn)顯示圖像的通道順序?yàn)镽、G、B,導(dǎo)致圖像出現(xiàn)色差發(fā)藍(lán)。

2.2 灰度圖像出現(xiàn)色差原因

那么為什么plt.imshow()顯示灰度圖(只有一個(gè)通道)還會(huì)出現(xiàn)色差呢?
上一段講過(guò),這是因?yàn)閜lt.imshow()函數(shù)默認(rèn)顯示三通道圖像,把灰度圖當(dāng)作彩色圖顯示出來(lái)了,所以出現(xiàn)了發(fā)藍(lán)的現(xiàn)象。

三、解決

3.1 解決彩色圖像出現(xiàn)色差問(wèn)題

3.1.1 方法1

img = cv2.imread('dog.jpg')		#讀取通道順序?yàn)锽、G、R
b,g,r = cv2.split(img)			#分別提取B、G、R通道
img_new1 = cv2.merge([r,g,b])	#重新組合為R、G、B

plt.xticks([]), plt.yticks([]) # 隱藏x和y軸

plt.imshow(img_new1)

運(yùn)行結(jié)果:

在這里插入圖片描述

3.1.2 方法2

img = cv2.imread('dog.jpg')		#讀取通道順序?yàn)锽、G、R
#img[:,:,0]表示圖片的藍(lán)色通道,對(duì)一個(gè)字符串s進(jìn)行翻轉(zhuǎn)用的是s[::-1],同樣img[:,:,::-1]就表示BGR通道翻轉(zhuǎn),變成RGB
img_new2 = img[:, :, ::-1]

plt.xticks([]), plt.yticks([]) # 隱藏x和y軸

plt.imshow(img_new2)

運(yùn)行結(jié)果:

在這里插入圖片描述

3.2 解決灰度圖像出現(xiàn)色差問(wèn)題

3.2.1 方法1

img = cv2.imread('dog.jpg')
img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)		#轉(zhuǎn)換為灰度圖

plt.xticks([]), plt.yticks([]) # 隱藏x和y軸

plt.imshow(img_gray,cmap='gray')

運(yùn)行結(jié)果:

在這里插入圖片描述

3.2.2 方法2

#cv2.imread()第二參數(shù)為0,直接將彩色圖像轉(zhuǎn)換為灰度圖像
img = cv2.imread('dog.jpg',0)	

plt.xticks([]), plt.yticks([]) # 隱藏x和y軸

plt.imshow(img_gray,cmap='gray')

運(yùn)行結(jié)果:

在這里插入圖片描述

 到此這篇關(guān)于解決plt.imshow顯示cv2.imread讀取的圖像有色差發(fā)藍(lán)的四種方法問(wèn)題的文章就介紹到這了,更多相關(guān)plt.imshow顯示cv2.imread讀取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中可以用三種方法判斷文件是否存在

    Python中可以用三種方法判斷文件是否存在

    本文主要介紹了Python中可以用三種方法判斷文件是否存在,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • python正則表達(dá)式的懶惰匹配和貪婪匹配說(shuō)明

    python正則表達(dá)式的懶惰匹配和貪婪匹配說(shuō)明

    這篇文章主要介紹了python正則表達(dá)式的懶惰匹配和貪婪匹配說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • jupyter notebook出現(xiàn)In[*]的問(wèn)題及解決

    jupyter notebook出現(xiàn)In[*]的問(wèn)題及解決

    這篇文章主要介紹了jupyter notebook出現(xiàn)In[*]的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python3?字符串str和bytes相互轉(zhuǎn)換

    python3?字符串str和bytes相互轉(zhuǎn)換

    這篇文章主要介紹了python3?字符串str和bytes相互轉(zhuǎn)換,在文件傳輸過(guò)程中,通常使用bytes格式的數(shù)據(jù)流,而代碼中通常用str類型,因此str和bytes的相互轉(zhuǎn)換就尤為重要,下文詳細(xì)介紹需要的小伙伴可以參考一下
    2022-03-03
  • python?中賦值,深拷貝,淺拷貝的區(qū)別

    python?中賦值,深拷貝,淺拷貝的區(qū)別

    這篇文章主要介紹了python?中賦值,深拷貝,淺拷貝的區(qū)別,下文利用實(shí)例對(duì)三者進(jìn)行詳細(xì)的解析,具有一的的參考價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-03-03
  • Python 網(wǎng)絡(luò)編程之UDP發(fā)送接收數(shù)據(jù)功能示例【基于socket套接字】

    Python 網(wǎng)絡(luò)編程之UDP發(fā)送接收數(shù)據(jù)功能示例【基于socket套接字】

    這篇文章主要介紹了Python 網(wǎng)絡(luò)編程之UDP發(fā)送接收數(shù)據(jù)功能,結(jié)合實(shí)例形式分析了Python使用socket套接字實(shí)現(xiàn)基于UDP協(xié)議的數(shù)據(jù)發(fā)送端與接收端相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • python append、extend與insert的區(qū)別

    python append、extend與insert的區(qū)別

    這篇文章主要介紹了python append、extend與insert的區(qū)別的相關(guān)資料,初學(xué)者對(duì)這幾個(gè)概念經(jīng)常搞混,這里就幫大家理清楚,需要的朋友可以參考下
    2016-10-10
  • 在windows系統(tǒng)中實(shí)現(xiàn)python3安裝lxml

    在windows系統(tǒng)中實(shí)現(xiàn)python3安裝lxml

    本文主要給大家簡(jiǎn)單介紹了下在windows以及l(fā)inux系統(tǒng)中使用Python安裝LXML模塊的教程,非常簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下
    2016-03-03
  • Pandas實(shí)現(xiàn)兩個(gè)表的連接功能的方法詳解

    Pandas實(shí)現(xiàn)兩個(gè)表的連接功能的方法詳解

    這篇文章主要和大家一起說(shuō)說(shuō)pandas的兩個(gè)表的連接技能merge,也就是根據(jù)一個(gè)表的條件去匹配另一個(gè)表的內(nèi)容,感興趣的可以跟隨小編一起學(xué)習(xí)一下
    2022-09-09
  • python RabbitMQ 使用詳細(xì)介紹(小結(jié))

    python RabbitMQ 使用詳細(xì)介紹(小結(jié))

    這篇文章主要介紹了python RabbitMQ 使用詳細(xì)介紹(小結(jié)),詳細(xì)的介紹了RabbitMQ的概念以及使用,對(duì)學(xué)習(xí)RabbitMQ有一定的幫助,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-11-11

最新評(píng)論