gpt4 book ai didi

python - PIL fromarray 函数给出了奇怪的颜色图

转载 作者:行者123 更新时间:2023-12-02 17:12:51 26 4
gpt4 key购买 nike

我正在编写一个小 gui 来测试 opencv 函数 - 轻松更改参数值(用于阈值、blob 检测等)。我开始使用 tkinter 编写 gui,并使用 Image.fromarray 函数得到奇怪的结果——我的图像变成了蓝色;当我用 cv2.imshow 显示时,没有这样的色调,所以它必须是 fromarry 的人工制品,我 blv。我按预期检查了模式及其 RGB。图像对在 Blob 检测之前和之后(绘制小圆圈)。左对是 opencv,右对在我的 tkinter gui 中。

        tk_img=Image.fromarray(newImg) 
tk_photo=ImageTk.PhotoImage(tk_img)
mod=tk_img.mode
print('mode:'+str(mod))
label1 = Tkinter.Label(self, image=tk_photo)
label1.image = tk_photo
label1.grid(row = Imrow, column = Im2col, columnspan = Im2col, sticky=Tkinter.NW)
self.update()

cv2.imshow('orig', currentImg)
cv2.waitKey(0)
cv2.imshow('current', newImg)
cv2.waitKey(0)
cv2.destroyAllWindows()

openCV windows on left, my gui on right - why is right pic blue???

最佳答案

OpenCV 使用 BGR 颜色顺序处理图像。您需要更改颜色顺序。

newImg = newImg[...,[2,1,0]]

查看此胎面以获取更多信息 PIL rotate image colors (BGR -> RGB)

关于python - PIL fromarray 函数给出了奇怪的颜色图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27231284/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com