как сделать аффинную деформацию изображения формата NV12

Мне нужно применить аффинную модель деформации к изображению NV12.

Вот формат NV12, Y отделен от Cb Cr. Cb Cr перемежается.

Модель выглядит как

[a11, a12, xt

a21, a22, yt]

a ** - вращение, xt yt - говно.

Эта модель предназначена для Y-плоскости.

Поскольку Cb Cr чередуются, я думаю, что не могу напрямую применить ту же модель к CB CR (с чередованием).

Мои вопросы заключаются в том, как я могу применить правильную аффинную деформацию к Cb Cr и вывести правильное изображение (красочное).

1 ответ

      cv::Mat src_y_mat(src_h, src_w, CV_8UC1, src_data, src_s);
cv::Mat dst_y_mat(dst_h, dst_w, CV_8UC1, dst_data, dst_s);
cv::warpAffine(src_y_mat, dst_y_mat, trans_mat, cv::Size(dst_w, dst_h),
                               cv::INTER_LINEAR, cv::BORDER_CONSTANT, border_value);
trans_mat.at<float>(0, 2) = trans_mat.at<float>(0, 2) / 2;
trans_mat.at<float>(1, 2) = trans_mat.at<float>(1, 2) / 2;
cv::Mat src_uv_mat(src_h / 2, src_w / 2, CV_8UC2, src_data1, src_s1);
cv::Mat dst_uv_mat(dst_h / 2, dst_w / 2, CV_8UC2, dst_data1, dst_s1);
cv::warpAffine(src_uv_mat, dst_uv_mat, trans_mat, cv::Size(dst_w / 2, dst_h / 2),
                               cv::INTER_LINEAR, cv::BORDER_CONSTANT, border_value);
Другие вопросы по тегам