Tôi đang cố gắng để xoay hình ảnh sử dụngLàm thế nào để duy trì nền trắng khi sử dụng opencv warpaffine
void rotate(cv::Mat& src, double angle, cv::Mat& dst)
{
int len = std::max(src.cols, src.rows);
cv::Point2f pt(len/2., len/2.);
cv::Mat r = cv::getRotationMatrix2D(pt, angle, 1.0);
cv::warpAffine(src, dst, r, cv::Size(src.cols, src.rows));
}
bằng cách cho góc, nguồn và hình ảnh đích. Xoay hoạt động chính xác như sau.
Tôi muốn tạo vùng trắng đen. Tôi đã thử với
cv::Mat dst = cv::Mat::ones(src.cols, src.rows, src.type());
trước khi gọi xoay, nhưng không thay đổi kết quả. Làm thế nào tôi có thể đạt được điều này?
Lưu ý: Tôi đang tìm giải pháp đạt được điều này trong khi thực hiện xoay vòng. rõ ràng bằng cách làm cho các khu vực màu đen trắng sau khi quay này có thể đạt được.