This commit is contained in:
2022-04-29 02:06:44 +02:00
parent b187022918
commit ebafbdf4b2
128 changed files with 1619 additions and 0 deletions

53
hsv_main.py Normal file
View File

@@ -0,0 +1,53 @@
import cv2 as cv
import numpy as np
import os
from time import time
from window_capture import WindowCapture
from stun_vision import StunVision
from hsvfilter import HsvFilter
# Change the working directory to the folder this script is in.
# Doing this because I'll be putting the files from each video in their own folder on GitHub
os.chdir(os.path.dirname(os.path.abspath(__file__)))
# initialize the WindowCapture class
wincap = WindowCapture('Albion Online Client')
# initialize the Vision class
vision_limestone = Vision('albion_limestone_processed.jpg')
# initialize the trackbar window
vision_limestone.init_control_gui()
# limestone HSV filter
hsv_filter = HsvFilter(0, 180, 129, 15, 229, 243, 143, 0, 67, 0)
loop_time = time()
while(True):
# get an updated image of the game
screenshot = wincap.get_screenshot()
# pre-process the image
processed_image = vision_limestone.apply_hsv_filter(screenshot, hsv_filter)
# do object detection
rectangles = vision_limestone.find(processed_image, 0.46)
# draw the detection results onto the original image
output_image = vision_limestone.draw_rectangles(screenshot, rectangles)
# display the processed image
cv.imshow('Processed', processed_image)
cv.imshow('Matches', output_image)
# debug the loop rate
print('FPS {}'.format(1 / (time() - loop_time)))
loop_time = time()
# press 'q' with the output window focused to exit.
# waits 1 ms every loop to process key presses
if cv.waitKey(1) == ord('q'):
cv.destroyAllWindows()
break
print('Done.')