code: def test_crop_src_dst_type_mismatch(self, device, dtype, batch_size):
      # generate input data
      src_h, src_w = 3, 3
      dst_h, dst_w = 3, 3
  
      # [x, y] origin
      # top-left, top-right, bottom-right, bottom-left
      points_src = torch.tensor(
          [
              [
                  [0, 0],
                  [0, src_w - 1],
                  [src_h - 1, src_w - 1],
                  [src_h - 1, 0],
              ]
          ],
          device=device,
          dtype=torch.int64,
      )
  
      # [x, y] destination
      # top-left, top-right, bottom-right, bottom-left
      points_dst = torch.tensor(
          [
              [
                  [0, 0],
                  [0, dst_w - 1],
                  [dst_h - 1, dst_w - 1],
                  [dst_h - 1, 0],
              ]
          ],
          device=device,
          dtype=dtype,
      )
  
      # compute transformation between points
      with pytest.raises(Exception):
          _ = kornia.geometry.get_perspective_transform(
              points_src, points_dst
          )
  
imports: import sys
  import pytest
  import torch
  from torch.autograd import gradcheck
  import kornia
  import kornia.testing
  from kornia.testing import assert_close
  from kornia.utils._compat import torch_version, torch_version_lt
  from kornia.utils.helpers import _torch_inverse_cast
label_desc: Use image node_id 2 for calling the TestGetPerspectiveTransform obj's underlying member method code with example usage: obj.test_crop_src_dst_type_mismatch(device, dtype, batch_size) without return types