相关疑难解决方法(0)

在C++中的OpenCV中无需裁剪即可旋转图像

我想旋转图像,但是如果没有裁剪,我无法获得旋转的图像

我原来的形象:

在此输入图像描述

现在我使用这段代码:

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

// Compile with g++ code.cpp -lopencv_core -lopencv_highgui -lopencv_imgproc

int main()
{
    cv::Mat src = cv::imread("im.png", CV_LOAD_IMAGE_UNCHANGED);
    cv::Mat dst;

    cv::Point2f pc(src.cols/2., src.rows/2.);
    cv::Mat r = cv::getRotationMatrix2D(pc, -45, 1.0);

    cv::warpAffine(src, dst, r, src.size()); // what size I should use?

    cv::imwrite("rotated_im.png", dst);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

并获得以下图像:

在此输入图像描述

但我想得到这个:

在此输入图像描述

非常感谢您的帮助!

c++ opencv

52
推荐指数
6
解决办法
5万
查看次数

minAreaRect OpenCV [Python]返回的裁剪矩形

minAreaRect在OpenCV中返回一个旋转的矩形.如何裁剪矩形内部的图像部分?

boxPoints 返回旋转矩形的角点的坐标,这样可以通过循环框内的点来访问像素,但是有更快的方法在Python中裁剪吗?

编辑

请参阅code下面的答案.

python opencv image image-processing

10
推荐指数
4
解决办法
3万
查看次数

标签 统计

opencv ×2

c++ ×1

image ×1

image-processing ×1

python ×1