func convertImage(image: String) -> CVPixelBuffer? {
   #if os(macOS)
   guard let image = NSImage(named: image) else {
      return nil
   }
   guard let cgImage = image.cgImage(forProposedRect: nil, context: nil, hints: nil) else {
      return nil
   }
   #else
   guard let uiImage = UIImage(named: image), let cgImage = uiImage.cgImage else {
      return nil
   }
   #endif
      
   let ciImage = CIImage(cgImage: cgImage)
   let width = 360
   let height = 360

   var pixelBuffer: CVPixelBuffer?
   CVPixelBufferCreate(kCFAllocatorDefault, width, height, kCVPixelFormatType_32BGRA, nil, &pixelBuffer)
   guard let buffer = pixelBuffer else { return nil }

   let context = CIContext()
   context.render(ciImage.transformed(by: CGAffineTransform(scaleX: CGFloat(width) / ciImage.extent.width, y: CGFloat(height) / ciImage.extent.height)), to: buffer, bounds: CGRect(x: 0, y: 0, width: width, height: height), colorSpace: CGColorSpaceCreateDeviceRGB()
   )
   return buffer
}