相关疑难解决方法(0)

在一组cv :: Point上执行cv :: warpPerspective以进行伪偏移

我正在尝试对一组点进行透视变换以实现偏斜效果:

http://nuigroup.com/?ACT=28&fid=27&aid=1892_H6eNAaign4Mrnn30Au8d

我正在使用下面的图像进行测试,绿色矩形显示感兴趣的区域.

我在想,如果有可能实现,我希望使用的简单组合的效果cv::getPerspectiveTransformcv::warpPerspective.我正在分享我到目前为止所写的源代码,但它不起作用.这是结果图像:

因此,有一个vector<cv::Point>定义感兴趣的区域,但点不存储在任何特定的顺序载体内,这件事情我不能在检测过程中发生改变.无论如何,稍后,向量中的点用于定义a RotatedRect,而这又用于组装cv::Point2f src_vertices[4];,所需的变量之一cv::getPerspectiveTransform().

我对顶点及其组织方式的理解可能是其中一个问题.我还认为使用a RotatedRect不是存储ROI原始点的最佳方法,因为坐标会稍微改变以适应旋转的矩形,这并不是很酷.

#include <cv.h>
#include <highgui.h>
#include <iostream>

using namespace std;
using namespace cv;

int main(int argc, char* argv[])
{
    cv::Mat src = cv::imread(argv[1], 1);

    // After some magical procedure, these are points detect that represent …
Run Code Online (Sandbox Code Playgroud)

c++ opencv image-processing perspective skew

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

如何在给定的平面上创建鸟瞰图像?

我给了一个平面(支持向量和平面的法向量),一个由我知道内在参数(fx,fy,cx,cy)的摄像机拍摄的图像.如何将此图像转换为鸟瞰图像(以便鸟类视图与平面的法线向量共线).我对我必须使用的坐标系很困惑,有些矩阵是世界坐标,有些是本地坐标.我知道warpPerspective()在OpenCV 中有这样做吗?

我正在使用OpenCV:2.4.9

非常感谢!

更新: 我必须在相机面向法线的情况下计算4个点,然后从鸟瞰图中计算4个点并将它们传递给它findHomography()以获得变换矩阵吗?

更新: 解决了.搞定了!

c++ opencv

9
推荐指数
1
解决办法
2766
查看次数

标签 统计

c++ ×2

opencv ×2

image-processing ×1

perspective ×1

skew ×1