簡體   English   中英

如何在 Python 中使用 PIL 將 BGR 圖像轉換為 RGB 圖像?

[英]How to convert BGR image to RGB image using PIL in Python?

我想將 BGR 圖像顯示為 RGB,因此我遵循了此PIL 旋轉圖像顏色 (BGR -> RGB)中提到的程序之一,但我仍在獲取 BGR 圖像。

我的代碼是:

i = 0
for i inrange(6):
  img = Image.fromarray(resizelist[val])
  im = img.convert("RGBA")
  resized_img = im.resize((200, 200),Image.ANTIALIAS)
  tkimage1 = ImageTk.PhotoImage(resized_img)
  myvar2 = Label(new, image=tkimage1)
  myvar2.image = tkimage1

這里resizelist[val]包含 70 張圖像。 我得到了輸出,但它只是 BGR 格式。

提前致謝!

您是否嘗試過按照此處的建議使用 numpy ?

from PIL import Image
import numpy as np
import sys 

sub = Image.open(sys.argv[1])
sub = sub.convert("RGBA")
data = np.array(sub) 
red, green, blue, alpha = data.T 
data = np.array([blue, green, red, alpha])
data = data.transpose()
sub = Image.fromarray(data)

一個較短的版本是:

from PIL import Image
import numpy as np

path_to_image = 'path_to_image.png'

image_PIL_RGB = Image.open(path_to_image)
image_np_RGB = np.array(image_PIL_RGB)

image_np_BGR = np.flip(image_np_RGB ,-1)
image_PIL_BGR = Image.fromarray(image_np_BGR)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM