试图输出一个颜色直方图从输入的图像到一个tkinter的图形用户界面窗口,但找不到任何建议。看到的方法,把其他图表,但不是特别直方图。感谢您的任何建议!
import imageio.v3 as iio
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import (FigureCanvasTkAgg)
from tkinter import *
image = iio.imread(uri = (r"C:\Users\System_2\Sample_image.PNG"))
def histogram():
# tuple to select colors of each channel line
colors = ("red", "green", "blue")
# create the histogram plot, with three lines, one for
# each color
plt.figure()
plt.xlim([0, 256])
for channel_id, color in enumerate(colors):
histogram, bin_edges = np.histogram(
image[:, :, channel_id], bins=256, range=(0, 2000)
)
plt.plot(bin_edges[0:-1], histogram, color=color)
#axis labels
plt.xlabel("Color value")
plt.ylabel("Pixel count")
#plots the histogram in a matplotlib GUI
plt.plot(bin_edges[0:-1], histogram)
plt.show()
histogram()
#tkinter gui
def window():
root = Tk()
root.geometry("500x400")
root.title("Histogram")
root.mainloop()
window()
能够输出其他图形的GUI窗口,但只是不能让它与这个颜色直方图。似乎总是得到错误,修复他们,并得到一个不同的错误。此外,找不到任何与直方图和tkinter在线。感谢任何帮助,你可以给予
1条答案
按热度按时间z0qdvdin1#
1.保存matplotlib图像
1.在tkinter窗口中绘制图像
1.使用os模块删除映像
下面是完整的代码