Если точить это под камеру, то надо сразу выбрать тот формат QImage, что и у камеры. Чтобы страйд был одинаковый. Тогда получается всего одно копирование из cv::Mat в буфер QImage.
Не надо создавать каждый раз QImage! надо реюзать существующее. А без копирования не обойдёшься., разве что завернуть вышестоящий cv::Mat вокруг чужого буфера QImage, но это говно, а не идея.