Rumah >pembangunan bahagian belakang >C++ >Bagaimana Menggunakan cv::warpPerspective dengan Betul untuk Meja Meja Imej?
Cara Memohon cv::warpPerspective for Deskewing Set Mata
Apabila melakukan transformasi perspektif pada set mata untuk mencapai kesan deskewing, adalah penting untuk memahami penyusunan mata yang betul dan penggunaan yang sesuai cv::getPerspectiveTransform.
Memastikan Susunan Mata yang Betul
Mata yang mewakili penjuru ROI mesti mengikut susunan tertentu dalam kedua-dua vektor sumber dan destinasi. Contohnya, jika titik sumber disusun sebagai (kiri atas, kiri bawah, kanan bawah, kanan atas), titik destinasi juga mesti mengikut tertib ini.
Menetapkan Saiz Imej
Untuk memastikan imej yang terhasil hanya mengandungi objek yang diminati, tetapkan lebar dan tingginya agar sepadan dengan lebar dan tinggi kotak sempadan segi empat tepat di sekeliling ROI.
Menggunakan Transformasi Affine untuk Kecekapan
Untuk transformasi affine (putar, ubah saiz, deskew), adalah lebih cekap untuk menggunakan fungsi getAffineTransform dan warpAffine. Fungsi ini hanya mengharapkan tiga mata dan matriks 2-demi-3 dan bukannya matriks 3-demi-3.
Menetapkan Saiz Imej Destinasi
Untuk mencipta destinasi imej dengan saiz yang berbeza daripada input, gunakan sintaks berikut dalam cv::warpPerspective:
cv::warpPerspective(src, dst, dst.size(), ... );
atau gunakan sintaks berikut dalam cv::warpAffine:
cv::warpAffine(src, rotated, warpAffineMatrix, size, INTER_LINEAR, BORDER_CONSTANT);
Atas ialah kandungan terperinci Bagaimana Menggunakan cv::warpPerspective dengan Betul untuk Meja Meja Imej?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!