python获取一张图像或者一个视频中某一点的像素坐标

it2025-08-18  13

import cv2 from pylab import * from PIL import Image import sys user_input = input("如果标视频,请输入1 ;如果标图片,请输入2: ") print("您输入的是:", user_input) def video_flag(): frame = 0 cap = cv2.VideoCapture("E:/test.mp4") fps = cap.get(cv2.CAP_PROP_FPS) print(fps) # frame=cv2.imread('E:/temp/vlcsnap-2020-09-11-17h35m32s537.png') def on_EVENT_LBUTTONDOWN(event, x, y, flags, param): if event == cv2.EVENT_LBUTTONDOWN: xy = "%d,%d" % (x, y) cv2.circle(frame, (x, y), 1, (255, 0, 0), thickness = -1) cv2.putText(frame, xy, (x, y), cv2.FONT_HERSHEY_PLAIN, 3.0, (0,0,0), thickness = 3) print(x,y) print("BGR is", frame[y, x]) cv2.imshow("video", frame) cv2.namedWindow('video', cv2.WINDOW_NORMAL) cv2.setMouseCallback("video", on_EVENT_LBUTTONDOWN) while(True): ret, frame = cap.read() cv2.imshow("video", frame) c = cv2.waitKey(1) if c == 27: break cap.release() cv2.destroyAllWindows() def image_flag(): frame = 0 frame=cv2.imread('E:/temp/test1.png') def getposBgr(event, x, y, flags, param): if event==cv2.EVENT_LBUTTONDOWN: print("Bgr is", frame[y, x]) def on_EVENT_LBUTTONDOWN(event, x, y, flags, param): if event == cv2.EVENT_LBUTTONDOWN: xy = "%d,%d" % (x, y) cv2.circle(frame, (x, y), 1, (255, 0, 0), thickness = -1) cv2.putText(frame, xy, (x, y), cv2.FONT_HERSHEY_PLAIN, 3.0, (0,0,0), thickness = 3) print(x,y) print("BGR is", frame[y, x]) cv2.imshow("video", frame) cv2.namedWindow('video', cv2.WINDOW_NORMAL) cv2.setMouseCallback("video", on_EVENT_LBUTTONDOWN) cv2.setMouseCallback("image", getposBgr) while(True): cv2.imshow("video", frame) c = cv2.waitKey(1) if c == 27: break cv2.destroyAllWindows() if int(user_input) == 1: video_flag() elif int(user_input) == 2: image_flag() else: print("输入错误!请输入1或者2!")

备注:使用时,修改自己的图片或者视频的路径即可使用 获取图像中的RGB的值那个地方还有点问题,TO DO…

最新回复(0)