东莞网站建设+信科网络长沙建一个网站多少钱
web/
2025/10/4 23:30:38/
文章来源:
东莞网站建设+信科网络,长沙建一个网站多少钱,百度竞价推广课程,网站建设 广西背景#xff1a;今天需要对程序生成的图像进行旋转90度和下采样操作#xff0c;当然还有改变图像类型的操作#xff0c;就是把原来.png的图像转换为.jpg的图像#xff0c;主要是我目前使用libharu库#xff0c;无法成功从本地加载png图像到pdf中去#xff0c;不得不使用j…背景今天需要对程序生成的图像进行旋转90度和下采样操作当然还有改变图像类型的操作就是把原来.png的图像转换为.jpg的图像主要是我目前使用libharu库无法成功从本地加载png图像到pdf中去不得不使用jpg图像。我的图像是横向的为了能够更大的呈现在pdf中我需要将图像旋转90度得到竖向的图像。
我最初使用的方法是这样的 cv::Mat temp, dest;
cv::Mat img1 cv::imread(dancer.png);cv::imshow(org, img1);
对读入的图像进行旋转90度
cv::Point2f center(img1.cols / 2, img1.rows / 2);
cv::Mat M getRotationMatrix2D(center, 90, -1);
warpAffine(img1, dest, M, cv::Size(img1.cols, img1.rows));cv::imshow(dest, dest);
//将旋转后的图像降分辨率cv::imwrite(img1.png, dest);
cv::waitKey(0);
经过上面的方式对图像旋转90度后得到的图像如下图硬生生被截掉一截 后来找到了这种方法直接可以旋转90度180度
cv::Mat temp, dest;
cv::Mat cover cv::imread(dancer.png);
cv::imshow(org, cover);
transpose(cover, temp);
flip(temp, dest, 1);
cv::imshow(temp, temp);
cv::imshow(dest, dest);
cv::imwrite(temp.png, temp);
cv::imwrite(dest.png, dest);
cv::waitKey(0);
原始图像 经过tranpose进行变换的图像达到的效果是对原图像顺时针旋转90度且进行镜面变换。 既然进行了镜面变换那我再给他镜面回来不久好了。使用flip函数进行镜面变换我们可以看到下面的图像就是将原始图像顺时针旋转90度的结果了。 下面实现将图像旋转180度。
cv::Mat temp, dest;
cv::Mat cover cv::imread(dancer.png);
cv::imshow(org, cover);
flip(cover, dest, -1);
cv::imshow(dest, dest);
cv::imwrite(dest.png, dest);
cv::waitKey(0);
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87037.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!