python图像上选点并给出其像素坐标,点击的位置标记红点
时间: 2023-07-16 19:15:38 浏览: 230
你可以使用Python的图像处理库PIL和Tkinter库来实现这个功能。下面是一个简单的示例代码:
```python
from PIL import Image, ImageTk
import tkinter as tk
# 打开图像文件
image_file = "example.jpg"
image = Image.open(image_file)
# 创建窗口
root = tk.Tk()
root.title("Image Viewer")
# 将图像转换为Tkinter可用的格式
tk_image = ImageTk.PhotoImage(image)
# 创建画布并显示图像
canvas = tk.Canvas(root, width=tk_image.width(), height=tk_image.height())
canvas.pack()
canvas.create_image(0, 0, anchor="nw", image=tk_image)
# 点击事件处理函数
def on_click(event):
# 在点击位置创建红点
x, y = event.x, event.y
canvas.create_oval(x-5, y-5, x+5, y+5, outline="red", width=2)
# 显示像素坐标
pixel = image.getpixel((x, y))
label.config(text=f"Pixel: {pixel}, Coord: ({x}, {y})")
# 创建标签显示像素坐标
label = tk.Label(root, text="Click anywhere on the image")
label.pack()
# 绑定点击事件
canvas.bind("<Button-1>", on_click)
# 运行窗口
root.mainloop()
```
这个程序会打开一张名为`example.jpg`的图像文件,并将其显示在一个窗口中。当你在图像上单击时,会在点击的位置创建一个红点,并在标签中显示该点的像素坐标和像素值。
阅读全文