Added rotate slider

This commit is contained in:
giuliof 2022-10-11 23:04:26 +02:00
parent bef8b7c3f2
commit 2393192709
1 changed files with 10 additions and 1 deletions

View File

@ -18,6 +18,7 @@ class ImagePointer:
self.center_size = 10
self.center_thickness = 3
self.canvas_name = 'Image Pointer'
self.rotate = False
# OpenCV callbacks
def on_mouse_event(self, event, x, y, flags, param):
@ -34,6 +35,9 @@ class ImagePointer:
if value > 0:
self.center_thickness = value
def on_rotate_changed(self, value):
self.rotate = value == 1
def run(self):
# Camera feed
cam = cv2.VideoCapture(0)
@ -53,6 +57,7 @@ class ImagePointer:
cv2.createTrackbar('center size', self.canvas_name, self.center_size, 100, self.on_center_size_change)
cv2.createTrackbar('center thickness', self.canvas_name, self.center_thickness, 16, self.on_center_thickness_change)
cv2.createTrackbar('rotate', self.canvas_name, 0, 1, self.on_rotate_changed)
while True:
# Capture the next frame from camera
@ -64,10 +69,14 @@ class ImagePointer:
# Acquire frame
frame = frame_cam.astype(np.uint8)
# Rotate if needed
if self.rotate:
frame = cv2.rotate(frame, cv2.ROTATE_180)
## Add cross
frame = cv2.line(frame, self.center_coord - (0, self.center_size), self.center_coord + (0, self.center_size), (0, 0, 255,), self.center_thickness)
frame = cv2.line(frame, self.center_coord - (self.center_size, 0), self.center_coord + (self.center_size, 0), (0, 0, 255,), self.center_thickness)
cv2.imshow(self.canvas_name, frame)
# detect ESC key or if window is closeed