您的位置:首页 > 运维架构

[opencv] 图像旋转180度要注意的细节问题

2017-04-10 09:21 471 查看
两种方法:

第一种传统warpAffine

cv::Point2f center = cv::Point2f(image.cols / 2, image.rows / 2);
cv::Mat rotateMat;
rotateMat = cv::getRotationMatrix2D(center, 180,1);
cv::Mat rotateImg;
cv::warpAffine(image, rotateImg, rotateMat, image.size());


第二种transpose + flip

transpose(image,b);
////transpose(b,b);
flip(b,b,1);    //Horizontal flipping
transpose(b,b);
flip(b,b,1);    //Horizontal flipping


结果展示,主体都没问题,123是第二种transpose + flip结果,234是第一种warpAffine



细节在于warpAffine会有one pixel的黑边。下图依次是原图的右下角像素点,123图左上角像素点,234图左上角像素点。





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: