Хорошо ли я отрефакторил кусок кода в ооп?

Правильно ли я все сделал? Я новичок и изучаю программирование. Пожалуйста подскажите что можно улучшить и все ли я сделал правильно?

Код до:

import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt

img = cv.imread('photo_papl.png', cv.IMREAD_UNCHANGED)
bobber = cv.imread('bobber.png', cv.IMREAD_UNCHANGED)
res = cv.matchTemplate(img, bobber, cv.TM_CCOEFF_NORMED) # search template on image
min_val, max_val, min_loc, max_loc = cv.minMaxLoc(res)
print('[~]Top left -: ' + str(max_loc))
print('[~]Best match confidence -: ' + str(max_val))

threshold = 0.9
if max_val >= threshold:
    print('[+]Found Object')
    # get dimensions of the image
    bobber_w = bobber.shape[1]
    bobber_h = bobber.shape[0]

    top_left = max_loc
    bottom_right = (top_left[0] + bobber_w, top_left[1] + bobber_h)

    rectangle_object = cv.rectangle(img, top_left, bottom_right,
             color=(0,255,0), thickness=2, lineType=cv.LINE_4)

    cv.imshow('Result', rectangle_object)  #
    cv.waitKey()  #
else:
    print('[-]Object not found')

Код после

import cv2 as cv
import numpy as np
import matplotlib


class Object_detect():

    def __init__(self, img, template):
        self.img = cv.imread(img, cv.IMREAD_UNCHANGED)
        self.template = cv.imread(template, cv.IMREAD_UNCHANGED)
        res_mt = cv.matchTemplate(self.img, self.template, cv.TM_CCOEFF_NORMED)
        self.min_val, self.max_val, self.min_loc, self.max_loc = cv.minMaxLoc(res_mt)
        print('[~] Top left corner -: ' + str(self.max_loc))
        print('[~] Best match confidence -: ' + str(self.max_val))


    def detect(self):
        threshold = 0.8
        if self.max_val >= threshold:
            print('[+]Found object')
            template_w = self.template.shape[1]
            template_h = self.template.shape[0]

            top_left = self.max_loc
            bottom_right = (top_left[0] + template_w, top_left[1] + template_h)
            rectangle_object = cv.rectangle(self.img, top_left, bottom_right,
                                            color=(0,255,0), thickness=2, lineType=cv.LINE_4)

            cv.imshow('Result', rectangle_object)
            cv.waitKey()
        else:
            print('[-]Object not found')



start = Object_detect('image.png','template.png').detect()

Ответы (0 шт):