import cv2
# 创建一个回调函数用于处理鼠标事件
def mouse_callback(event, x, y, flags, param):
image = param
if event == cv2.EVENT_LBUTTONDOWN: # 鼠标左键按下时
# 绘制绿色圆点标记选择的点
cv2.circle(image, (x, y), 3, (0, 255, 0), -1)
# 显示带有标记的图像
cv2.imshow('RGB_Image', image)
# 输出点击位置的坐标
print(f"Clicked on position ({x}, {y})")
# 注意 此时的x,y像素值同时进行了缩放,缩小了50%
def main():
img = cv2.imread('5.png', cv2.IMREAD_UNCHANGED)
# 缩小图像
scale_percent = 50 # 设置缩小比例(例如50表示缩小到原来的一半)
width = int(img.shape[1] * scale_percent / 100)
height = int(img.shape[0] * scale_percent / 100)
dim = (width, height)
resized_image = cv2.resize(img, dim)
# 创建一个窗口用于显示图像
cv2.namedWindow('RGB_Image')
# 绑定鼠标回调函数
cv2.setMouseCallback('RGB_Image', mouse_callback, resized_image)
cv2.imshow('RGB_Image', resized_image)
cv2.waitKey(0)
if __name__ == '__main__':
main()
python实现按比例加载图像,并在图像上选点
最新推荐文章于 2024-08-24 11:00:49 发布