
"""simple docstring"""




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

class 						a__		:
   def __init__(     self      ,       _a      ,       _a      ,       _a							):
          if dst_width < 0 or dst_height < 0:
                 raise ValueError("Destination width/height should be > 0"							)

          lowercase       :							Dict									=				img
          lowercase       :							List[Any]									=				img.shape[1]
          lowercase       :							Tuple									=				img.shape[0]
          lowercase       :							Tuple									=				dst_width
          lowercase       :							List[Any]									=				dst_height

          lowercase       :							Any									=				self.src_w / self.dst_w
          lowercase       :							Dict									=				self.src_h / self.dst_h

          lowercase       :							Tuple									=				(
              np.ones((self.dst_h, self.dst_w, 3)      ,       np.uinta							) * 255
          )
   def      __magic_name__     (     self							):
          for i in range(self.dst_h							):
                 for j in range(self.dst_w							):
                        lowercase       :							int									=				self.img[self.get_y(_a							)][self.get_x(_a							)]
   def      __magic_name__     (     self      ,       _a							):
          return int(self.ratio_x * x							)

   def      __magic_name__     (     self      ,       _a							):
          return int(self.ratio_y * y							)


if __name__ == "__main__":
   _A						,	_A     :			Tuple  						=			8_00, 6_00
   _A     :			Any  						=			imread("""image_data/lena.jpg""", 1)
   _A     :			Any  						=			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"""




# Copyright 2023 The HuggingFace Team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


_A     :			Optional[int]  						=			{
    """configuration_mgp_str""": ["""MGP_STR_PRETRAINED_CONFIG_ARCHIVE_MAP""", """MgpstrConfig"""],
    """processing_mgp_str""": ["""MgpstrProcessor"""],
    """tokenization_mgp_str""": ["""MgpstrTokenizer"""],
}

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _A     :			Any  						=			[
       """MGP_STR_PRETRAINED_MODEL_ARCHIVE_LIST""",
       """MgpstrModel""",
       """MgpstrPreTrainedModel""",
       """MgpstrForSceneTextRecognition""",
   ]

if TYPE_CHECKING:
   from .configuration_mgp_str import MGP_STR_PRETRAINED_CONFIG_ARCHIVE_MAP, MgpstrConfig
   from .processing_mgp_str import MgpstrProcessor
   from .tokenization_mgp_str import MgpstrTokenizer

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_mgp_str import (
          MGP_STR_PRETRAINED_MODEL_ARCHIVE_LIST,
          MgpstrForSceneTextRecognition,
          MgpstrModel,
          MgpstrPreTrainedModel,
      )
else:
   import sys

   _A     :			Tuple  						=			_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)


