国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python中圖片讀取和保存以及plt.imshow()與cv2.imshow()顯示圖像顏色錯誤解決方案

這篇具有很好參考價值的文章主要介紹了python中圖片讀取和保存以及plt.imshow()與cv2.imshow()顯示圖像顏色錯誤解決方案。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

最近調(diào)試程序的時候,發(fā)現(xiàn)要保存的圖片顏色與原圖片有色差(顯示圖像變藍),郁悶良久,終于發(fā)現(xiàn)問題,望諸君避坑。

??在用plt.imshow和cv2.imshow顯示同一幅圖時可能會出現(xiàn)顏色差別很大的現(xiàn)象。
??原因:opencv的接口使用BGR,而matplotlib.pyplot 則是RGB模式。
單獨使用圖像是正常的,聯(lián)合使用顯示是不正常的。
下面我們根據(jù)程序結(jié)合結(jié)果來看:

原圖:
python中圖片讀取和保存以及plt.imshow()與cv2.imshow()顯示圖像顏色錯誤解決方案

1.程序源碼

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

img = cv.imread('road.jpg')  # CV 讀取圖片
img2 = plt.imread('road.jpg')  # plt 讀取圖片
img3 = cv.cvtColor(img, cv.COLOR_BGR2RGB)   # CV  BGR轉(zhuǎn)變RGB
img4 = cv.cvtColor(img2, cv.COLOR_BGR2RGB)  # Plt BGR轉(zhuǎn)變RGB

# Plt
plt.imshow(img)
plt.savefig('cv_read_plt_show.jpg')
plt.show()

plt.imshow(img2)
plt.savefig('plt_read_plt_show.jpg')
plt.show()

plt.imshow(img3)
plt.savefig('cv_read_plt_show_BGR2RGB.jpg')
plt.show()

plt.imshow(img4)
plt.savefig('plt_read_plt_show_BGR2RGB.jpg')
plt.show()

# CV
cv.namedWindow("bgr_image", 0)
cv.resizeWindow("bgr_image", 512, 768)
cv.imshow('bgr_image', img)
cv.imwrite('cv_read_cv_show.jpg',img)

cv.namedWindow("rgb_image", 0);
cv.resizeWindow("rgb_image", 512, 768)
cv.imshow('rgb_image', img2)
cv.imwrite('plt_read_cv_show.jpg',img2)

cv.namedWindow("cv_read_BGR2RGB_image", 0);
cv.resizeWindow("cv_read_BGR2RGB_image", 512, 768)
cv.imshow('cv_read_BGR2RGB_image', img3)
cv.imwrite('cv_read_cv_show_BGR2RGB.jpg', img3)

cv.namedWindow("plt_read_BGR2RGB_image", 0);
cv.resizeWindow("plt_read_BGR2RGB_image", 512, 768)
cv.imshow('plt_read_BGR2RGB_image', img4)
cv.imwrite('plt_read_cv_show_BGR2RGB.jpg', img4)

# cv.waitKey(0)
# cv.destroyAllWindows()

2.程序運行結(jié)果如下:

2.1 Matplotlib顯示結(jié)果:

2.2.1 CV讀取BGR,顯示:

python中圖片讀取和保存以及plt.imshow()與cv2.imshow()顯示圖像顏色錯誤解決方案

2.2.2 Matplotlib讀取RGB,顯示:

python中圖片讀取和保存以及plt.imshow()與cv2.imshow()顯示圖像顏色錯誤解決方案

2.2.3 CV讀取BGR轉(zhuǎn)換為RGB,顯示:

python中圖片讀取和保存以及plt.imshow()與cv2.imshow()顯示圖像顏色錯誤解決方案

2.2.4 plt讀取RGB,CV轉(zhuǎn)換為RGB,顯示:

python中圖片讀取和保存以及plt.imshow()與cv2.imshow()顯示圖像顏色錯誤解決方案

2.2OpenCV顯示結(jié)果:

2.2.1 CV讀取BGR,顯示:

python中圖片讀取和保存以及plt.imshow()與cv2.imshow()顯示圖像顏色錯誤解決方案

2.2.2 Matplotlib讀取RGB,顯示:

python中圖片讀取和保存以及plt.imshow()與cv2.imshow()顯示圖像顏色錯誤解決方案

2.2.3 CV讀取BGR轉(zhuǎn)換為RGB,顯示:

python中圖片讀取和保存以及plt.imshow()與cv2.imshow()顯示圖像顏色錯誤解決方案

2.2.4 plt讀取RGB, CV轉(zhuǎn)換為RGB,顯示:

python中圖片讀取和保存以及plt.imshow()與cv2.imshow()顯示圖像顏色錯誤解決方案文章來源地址http://www.zghlxwxcb.cn/news/detail-501097.html

到了這里,關(guān)于python中圖片讀取和保存以及plt.imshow()與cv2.imshow()顯示圖像顏色錯誤解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Plt圖片不顯示,不彈出,Pycharm圖片獨立顯示與imshow()無法顯示

    Plt圖片不顯示,不彈出,Pycharm圖片獨立顯示與imshow()無法顯示

    問題一:Pycharm 圖片在獨立窗口顯示(或者是圖片壓根不顯示) pycharm從2017.3版之后,將 matplotlib 的繪圖的結(jié)果默認顯示在 SciView 窗口中, 而不是彈出獨立的窗口。可以通過如下方式修改,彈出獨立窗口 File | Settings | Tools | Python Scientific | Show plots in tool window 取消勾選 問題二:py

    2024年02月13日
    瀏覽(34)
  • opencv視頻截取每一幀并保存為圖片python代碼CV2實現(xiàn)練習(xí)

    當(dāng)涉及到視頻處理時,Python中的OpenCV庫提供了強大的功能,可以方便地從視頻中截取每一幀并將其保存為圖片。這是一個很有趣的練習(xí),可以讓你更深入地了解圖像處理和多媒體操作。 使用OpenCV庫,你可以輕松地讀取視頻文件,并在循環(huán)中逐幀讀取視頻的每一幀。隨后,你可

    2024年02月12日
    瀏覽(31)
  • 解決python3安裝完OpenCV后沒有cv2.imshow、cv2.imread等函數(shù)的問題

    解決python3安裝完OpenCV后沒有cv2.imshow、cv2.imread等函數(shù)的問題

    發(fā)現(xiàn)cv2中沒有函數(shù)可用,此時打開cv2所在的文件夾, 找到 cv2.pyd 文件,復(fù)制到所用python環(huán)境中的site-packages文件夾中 關(guān)閉項目工程文件重新打開,就可以調(diào)用cv2中的函數(shù)了。

    2024年02月03日
    瀏覽(24)
  • cv2讀取視頻-并保存圖像或視頻

    @TOC cv2讀取視頻的一般流程 獲取視頻 cap = cv2.VideoCapture() 判斷獲取的視頻是否成功,成功讀取視頻對象則返回True。 cap.isOpened() 按幀讀取 ret, frame = cap.read() 展示圖像 cv2.waitKey(1) 讀取本地文件視頻并展示

    2024年02月11日
    瀏覽(21)
  • cv2 保存圖片RGB BGR

    cv2 保存圖片RGB BGR

    原圖: cv2.imrite之后的圖: 可以看到前后圖片一樣,我們都知道cv2 .imread讀取進來的圖像是BGR格式,而cv2.imrite保存的時候也需要BGR格式,這樣保證顏色通道順序一致。 通常情況下,我們都需要轉(zhuǎn)換成RGB的格式進行后續(xù)處理,看下面的例子 而保存的圖像卻是: 可以看到顏色前

    2024年02月12日
    瀏覽(27)
  • VScode中運行python時,使用matplotlib的plt.imshow()不顯示圖像 的參考解決方法

    自己的測試環(huán)境 Ubuntu20.04 自己使用VScode中運行python程序時,python程序中調(diào)用 matplotlib 的 plt.imshow() 不能顯示圖像的情況。 出現(xiàn)這種情況的解決方法很簡單,在最后一個 plt.imshow(image) 的后面增加一個 plt.show() 即可解決問題。 [1] 靈犀智庫. code9:VScode的python使用matplotlib的plt.sh

    2024年01月22日
    瀏覽(21)
  • 關(guān)于OpenCV中cv2.imwrite保存的圖片是全黑色的解決方案

    原因:image圖片是0-255,而imwrite保存圖片的時候把圖片標(biāo)準(zhǔn)化了,也就變?yōu)?-1,對于這個問題,只需要修改一下imwrite的輸入就好,也就是括號后半部分那個參數(shù)*255,如下: 注意:括號里邊的前半部分是自己起的文件名,后半部分“img_light”改成你自己的圖像名。 比如我讀入

    2024年02月16日
    瀏覽(26)
  • OpenCV使用cv2.imshow()報錯的解決辦法

    OpenCV使用cv2.imshow()報錯的解決辦法

    The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. 版本出錯應(yīng)該是不太可能的,于是我試著安裝一下OpenCV的拓展開發(fā)包也就是. opencv-contrib 沒想到,折騰好久的問題,最后一行命令解決問題了 pip install --user opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn 總結(jié)

    2024年02月11日
    瀏覽(23)
  • cv2保存圖片類型錯誤執(zhí)行報錯cv2. error: OpenCV(4.6.0) :-1: error: (-5:Bad argument) in function ‘imwrite‘ - img i

    硬件環(huán)境(Ascend/GPU/CPU): GPU 軟件環(huán)境: – MindSpore 版本: 1.7.0 執(zhí)行模式: 靜態(tài)圖(GRAPH) – Python 版本: 3.7.6 – 操作系統(tǒng)平臺: linux 將優(yōu)化好的圖像用cv2進行圖片保存,由于沒有將tensor轉(zhuǎn)換為numpy,導(dǎo)致cv2.imwrite運行失敗。 adversarial_tensor, mask_tensor = adversarial.train(attack_method) cv2.imwrit

    2024年02月17日
    瀏覽(22)
  • 【OpenCV 例程300篇】04. 用 matplotlib 顯示圖像(plt.imshow)

    【OpenCV 例程300篇】04. 用 matplotlib 顯示圖像(plt.imshow)

    專欄地址:『youcans 的 OpenCV 例程300篇 - 總目錄』 01. 圖像的讀?。╟v2.imread) 02. 圖像的保存(cv2.imwrite) 03. 圖像的顯示(cv2.imshow) 04. 用 matplotlib 顯示圖像(plt.imshow) 函數(shù) plt.imshow() 用于通過 matplotlib 庫顯示圖像。 函數(shù)說明: matplotlib.pyplot.imshow(img[, cmap]) OpenCV 使用 BGR 格式

    2024年02月04日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包