用python写一个读取图片能用鼠标选点并输出点坐标
时间: 2023-05-18 08:03:25 浏览: 61
可以使用Python的OpenCV库来实现这个功能。以下是一个简单的示例代码:
```python
import cv2
def mouse_callback(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
print("Point selected: ({}, {})".format(x, y))
img = cv2.imread("image.jpg")
cv2.namedWindow("image")
cv2.setMouseCallback("image", mouse_callback)
while True:
cv2.imshow("image", img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cv2.destroyAllWindows()
```
这个代码会打开一张名为"image.jpg"的图片,并在窗口中显示。当你在窗口中点击鼠标左键时,程序会输出所选点的坐标。你可以通过修改代码来适应你的具体需求。
相关问题
python创建窗口将完整图像导入后用鼠标选点并输出点的坐标
好的,可以使用Python的Tkinter库来创建窗口,并使用Pillow库来导入图像,以下是一个简单的示例代码:
```python
from tkinter import *
from PIL import Image, ImageTk
class ImagePointSelector:
def __init__(self, image_path):
# 创建窗口
self.root = Tk()
self.root.title("Image Point Selector")
# 导入图像
self.image = Image.open(image_path)
self.tk_image = ImageTk.PhotoImage(self.image)
# 创建画布并显示图像
self.canvas = Canvas(self.root, width=self.image.width, height=self.image.height)
self.canvas.pack()
self.canvas.create_image(0, 0, anchor=NW, image=self.tk_image)
# 绑定鼠标点击事件
self.canvas.bind("<Button-1>", self.on_click)
# 显示窗口
self.root.mainloop()
def on_click(self, event):
# 获取鼠标点击位置并输出坐标
x, y = event.x, event.y
print("Clicked at ({}, {})".format(x, y))
if __name__ == '__main__':
selector = ImagePointSelector("image.jpg")
```
这个程序会打开一个窗口,显示名为“image.jpg”的图像,并且可以通过鼠标点击来选点,并输出点的坐标。你可以将“image.jpg”替换为你需要导入的完整图像的路径。
python实现手动在图像上选点并给出点的像素坐标
可以使用Python中的OpenCV库来实现手动在图像上选点并给出点的像素坐标。下面是一个简单的示例代码:
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 创建一个窗口并显示图像
cv2.namedWindow('image')
cv2.imshow('image', img)
# 定义一个回调函数,用于获取鼠标点击的位置
def get_point(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
print("Pixel coordinates: ({}, {})".format(x, y))
# 绑定鼠标事件和回调函数
cv2.setMouseCallback('image', get_point)
# 等待用户操作
cv2.waitKey(0)
# 关闭窗口
cv2.destroyAllWindows()
```
这个程序会在打开的图像窗口中等待用户的鼠标操作。当用户在图像上点击鼠标左键时,程序会输出该点的像素坐标。