code: def perspective_camera(
      img_shape,
      focal_length_mult=2,
      pose_angle_deg=[0, 0, 0],
      translation=4,
  ):
      f = np.array(img_shape).max() * focal_length_mult
      rot_z = rotation_z(180 + pose_angle_deg[2])
      rot_y = rotation_y(180 + pose_angle_deg[1])
      rot_x = rotation_x(pose_angle_deg[0])
      rotation = rot_z.compose_before(rot_y).compose_before(rot_x)
  
      translation = Translation([0, 0, translation])
      projection = PerspectiveProjection(f, img_shape)
      return PerspectiveCamera(rotation, translation, projection)
  
imports: import PIL.Image
  from skimage.morphology import binary_dilation, disk
  from skimage.filters import gaussian
  from scipy.interpolate import NearestNDInterpolator
  import cv2
  from utils.shading import lambertian_shading
  from menpo3d.rasterize import rasterize_mesh
  from menpo.shape import TriMesh, TexturedTriMesh, ColouredTriMesh
  from menpo.image import Image
  from utils.image_rasterization import *
  import menpo.io
  import os
  from keras.utils import get_file
  import bz2
label_desc: Use image node_id 1 for calling a global function with example usage: perspective_camera(img_shape, focal_length_mult, pose_angle_deg, translation) and returns: PerspectiveCamera