37 lines
1.1 KiB
Python
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) |