Files
open-cv-experiment/test/2024,9,23/homework.py
T
2024-09-23 22:52:42 +08:00

37 lines
1.1 KiB
Python

import cv2 as cv
import numpy as np
# 1
img=cv.imread("sample.jpg",cv.IMREAD_GRAYSCALE)
img2=cv.imread('sample.jpg',cv.IMREAD_GRAYSCALE)
# 2
def draw_circle(event,x,y,flags,param):
if event==cv.EVENT_LBUTTONDOWN:
cv.circle(img,(x,y),10,0,-1)
#4
alpha=0.3
beta=80
def updateAlpha(x):
global alpha,img,img2
alpha=cv.getTrackbarPos('Alpha','modify_sample')
alpha=alpha*0.01
img=np.uint8(np.clip((alpha*img2+beta),0,255))
def updateBeta(x):
global beta,img,img2
beta=cv.getTrackbarPos('Beta','modify_sample')
img=np.uint8(np.clip((alpha*img2+beta),0,255))
#3
cv.namedWindow('modify_sample')
cv.createTrackbar('Alpha','modify_sample',0,300,updateAlpha)
cv.createTrackbar('Beta','modify_sample',0,255,updateBeta)
cv.setTrackbarPos('Alpha','modify_sample',100)
cv.setTrackbarPos('Beta','modify_sample',10)
cv.setMouseCallback('modify_sample',draw_circle)
while(1):
cv.imshow('modify_sample',img)
pressedKey=cv.waitKey(5)
# 5
if pressedKey==ord('q'):
break
if pressedKey==ord('s'):
cv.imwrite('modified_sample.jpg',img)