Execute a view without rendering
There is already a function that does exactly what you want:

  $result = views_get_view_result('my_view_name', 'default', $arg1, $arg2, ...);


Read more at its page at api.drupal.org:

https://api.drupal.org/api/views/views.module/function/views_get_view_result/7