lab5 zad 1 finished
This commit is contained in:
parent
df33340ecc
commit
327289b80f
16
lab5/main.py
16
lab5/main.py
@ -5,8 +5,8 @@ import numpy as np
|
|||||||
def click_event(event, x, y, flags, params):
|
def click_event(event, x, y, flags, params):
|
||||||
if event == cv.EVENT_LBUTTONDOWN:
|
if event == cv.EVENT_LBUTTONDOWN:
|
||||||
# print(x, ' ', y)
|
# print(x, ' ', y)
|
||||||
cv.circle(img, (int(x), int(y)), 10, [0, 255, 255], -1)
|
cv.circle(img_copy, (int(x), int(y)), 10, [0, 255, 255], -1)
|
||||||
cv.imshow('image', img)
|
cv.imshow('image', img_copy)
|
||||||
vertexes.append([x, y])
|
vertexes.append([x, y])
|
||||||
if len(vertexes) == 4:
|
if len(vertexes) == 4:
|
||||||
add_img_in_area()
|
add_img_in_area()
|
||||||
@ -15,15 +15,25 @@ def click_event(event, x, y, flags, params):
|
|||||||
def add_img_in_area():
|
def add_img_in_area():
|
||||||
dst_points = np.array(vertexes, dtype=float)
|
dst_points = np.array(vertexes, dtype=float)
|
||||||
src_points = np.array([[0, 0], [bakery_w, 0], [bakery_w, bakery_h], [0, bakery_h]], dtype=float)
|
src_points = np.array([[0, 0], [bakery_w, 0], [bakery_w, bakery_h], [0, bakery_h]], dtype=float)
|
||||||
|
|
||||||
mat_h = cv.findHomography(src_points, dst_points)[0]
|
mat_h = cv.findHomography(src_points, dst_points)[0]
|
||||||
image_transformed_h = cv.warpPerspective(bakery, mat_h, (img_w, img_h))
|
image_transformed_h = cv.warpPerspective(bakery, mat_h, (img_w, img_h))
|
||||||
cv.imshow('image', image_transformed_h)
|
|
||||||
|
mask = np.zeros(img.shape[:2], dtype="uint8")
|
||||||
|
cv.fillPoly(mask, np.int32([dst_points]), (255, 255, 255))
|
||||||
|
|
||||||
|
bg_with_black_space = cv.bitwise_and(img, img, mask=cv.bitwise_not(mask))
|
||||||
|
|
||||||
|
result = bg_with_black_space + image_transformed_h
|
||||||
|
|
||||||
|
cv.imshow('image', result)
|
||||||
vertexes.clear()
|
vertexes.clear()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
vertexes = []
|
vertexes = []
|
||||||
img = cv.imread('../img/billboards.jpg')
|
img = cv.imread('../img/billboards.jpg')
|
||||||
|
img_copy = img.copy()
|
||||||
bakery = cv.imread('../img/bakery.jpg')
|
bakery = cv.imread('../img/bakery.jpg')
|
||||||
bakery_h, bakery_w = bakery.shape[0:2]
|
bakery_h, bakery_w = bakery.shape[0:2]
|
||||||
img_h, img_w = img.shape[0:2]
|
img_h, img_w = img.shape[0:2]
|
||||||
|
Loading…
Reference in New Issue
Block a user