'''simple docstring'''

import numpy as np
from cva import destroyAllWindows, imread, imshow, waitKey





class 							lowercase						:


   def __init__(   self				:	int   ,		__lowerCAmelCase				:	List[Any]   ,		__lowerCAmelCase				:	int   ,		__lowerCAmelCase				:	int)      ->					List[str]:
         if dst_width < 0 or dst_height < 0:
               raise ValueError("Destination width/height should be > 0")

         lowercase_     =      img
         lowercase_     =      img.shape[1]
         lowercase_     =      img.shape[0]
         lowercase_     =      dst_width
         lowercase_     =      dst_height

         lowercase_     =      self.src_w / self.dst_w
         lowercase_     =      self.src_h / self.dst_h

         lowercase_     =      lowercase_     =      (
             np.ones((self.dst_h, self.dst_w, 3)   ,		np.uinta) * 255
         )


   def __UpperCAmelCase       (   self				:	Any)      ->					Optional[int]:
         for i in range(self.dst_h):
               for j in range(self.dst_w):
                     lowercase_     =      self.img[self.get_y(__lowerCAmelCase)][self.get_x(__lowerCAmelCase)]


   def __UpperCAmelCase       (   self				:	Union[str, Any]   ,		__lowerCAmelCase				:	int)      ->					int:
         return int(self.ratio_x * x)


   def __UpperCAmelCase       (   self				:	Optional[int]   ,		__lowerCAmelCase				:	int)      ->					int:
         return int(self.ratio_y * y)


if __name__ == "__main__":
       lowerCAmelCase_  ,					lowerCAmelCase_ : str						  =      800, 600
       lowerCAmelCase_ : List[Any]						  =      imread("image_data/lena.jpg", 1)
       lowerCAmelCase_ : Dict						  =      NearestNeighbour(im, dst_w, dst_h)
       n.process()

       imshow(
           F'''Image resized from: {im.shape[1]}x{im.shape[0]} to {dst_w}x{dst_h}''', n.output
       )
       waitKey(0)
       destroyAllWindows()







'''simple docstring'''

def __a (	__lowerCamelCase			:						int = 200				)	->							int:
      '''simple docstring'''


      lowercase_     =      [1, 2, 5, 10, 20, 50, 100, 200]
      lowercase_     =      [0] * (pence + 1)
      lowercase_     =      1  # base case: 1 way to make 0 pence

      for coin in coins:
            for i in range(__lowerCamelCase ,		pence + 1 ,		1				):
                  number_of_ways[i] += number_of_ways[i - coin]
      return number_of_ways[pence]


if __name__ == "__main__":
       assert solution(200) == 73_682






