code: def __init__(self, request: Request) -> None:
      super().__init__(request)
  
      self.file_handle = request.get_local_filename()
      if request._uri_type is URI_BYTES:
          self.filename = "<bytes>"
      else:
          self.filename = request.raw_uri
  
      mode = request.mode.io_mode
      if mode == IOMode.read and not cv2.haveImageReader(
          self.file_handle
      ):
          raise InitializationError(
              f"OpenCV can't read `{self.filename}`."
          )
      elif mode == IOMode.write and not cv2.haveImageWriter(
          self.file_handle
      ):
          raise InitializationError(
              f"OpenCV can't write to `{self.filename}`."
          )
  
file_path: imageio/imageio/plugins/opencv.py
imports: import warnings
  from pathlib import Path
  from typing import Any, Dict, List, Optional, Union
  import cv2
  import numpy
  from ..core import Request
  from ..core.request import URI_BYTES, InitializationError, IOMode
  from ..core.v3_plugin_api import ImageProperties, PluginV3
  from ..typing import ArrayLike
label_desc: Use image node_id 1 to create a new OpenCVPlugin object from inherited base classes: PluginV3 with example: obj = OpenCVPlugin(request)