相关疑难解决方法(0)

如何将透视变换应用于UIView?

我想在UIView上执行透视变换(例如在coverflow中看到)

有谁知道这是否可能?

我已经调查过使用CALayer并且已经完成了所有实用的程序员Core Animation播客,但我仍然不清楚如何在iPhone上创建这种转换.

任何帮助,指针或示例代码片段将非常感谢!

cocoa-touch core-animation calayer uiview ios

199
推荐指数
2
解决办法
11万
查看次数

在一组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万
查看次数

iPhone图像拉伸(歪斜)

如何扭曲图像?例如,每个角都有一个带有坐标的CGPoint - p1,p2,p3,p4.然后,我需要设置 - p4.x + = 50,p4.y + = 30.所以这个角(p4)应该在2D透视图中拉伸,图像应该扭曲.

替代文字http://www.polar-b.com/scew.png

我试图使用CATransform3D,但似乎不能以这种方式完成,因为它只是改变了视角(旋转,更靠近/更远一侧).也许CGAffineTransform可能有用吗?

如果您知道答案,请写一个示例代码.

提前致谢

iphone image transform stretch

30
推荐指数
2
解决办法
2万
查看次数

如何从3D转换的UIImageView创建/渲染UIImage?

将3d变换应用到UIImageView.layer之后,我需要将生成的"视图"保存为新的UIImage ...起初看起来像一个简单的任务:-)但到目前为止没有运气,搜索没有出现任何线索:-(所以我希望有人能够指出我正确的方向.

一个很简单的iPhone项目,请点击这里.

谢谢.

- (void)transformImage {
    float degrees = 12.0;
    float zDistance = 250;
    CATransform3D transform3D = CATransform3DIdentity;
    transform3D.m34 = 1.0 / zDistance; // the m34 cell of the matrix controls perspective, and zDistance affects the "sharpness" of the transform
    transform3D = CATransform3DRotate(transform3D, DEGREES_TO_RADIANS(degrees), 1, 0, 0); // perspective transform on y-axis
    imageView.layer.transform = transform3D;
}

/* FAIL : capturing layer contents doesn't get the transformed image -- just the original

CGImageRef newImageRef = (CGImageRef)imageView.layer.contents;

UIImage *image …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch core-animation

14
推荐指数
2
解决办法
8932
查看次数

方形到梯形

我知道将一个正方形转换为一个正方形是一个线性变换,并且可以使用投影矩阵来完成,但我在确定如何构造矩阵时遇到了一些麻烦.

使用投影矩阵进行平移,缩放,旋转和剪切是很简单的.是否有一个简单的投影矩阵将一个方形转换为一个梯形?

transform projection matrix linear-algebra perspective

10
推荐指数
1
解决办法
7732
查看次数

从点到角度对UIImage的透视校正

我正在开发一个应用程序,我会让用户拍照,例如名片或照片.

然后,用户将迎来对象的四个角(他们拍了一张照片关闭) - 就像它在很多文档/图片/名片扫描应用程序的看出:

在此输入图像描述

我的问题是如何根据这四点来裁剪和修复视角?我一直在寻找几天,看着几个图像处理库没有任何运气.

谁能指出我正确的方向?

iphone image-processing quartz-2d ios

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

将四边形变换为矩形?

我有一个由任意四边形组成的场景.我需要能够将四边形转换成矩形.每个四边形都在2d坐标中,因此它们有4个顶点(x_i, y_i).

转换需要有一个逆,因为想法是在操作矩形后返回原始四边形.

执行此操作最简单的方法是什么?我听说它被称为透视转换,但我发现一些小线索让我觉得这很容易做到.

opengl graphics linear-algebra computer-vision

8
推荐指数
1
解决办法
8457
查看次数

如何将图像扭曲成任何四边形?

你们有没有想法,如何扭曲任何四边形的图像?我想实现一个图像,你可以在任何方向拉任何角落,扭曲图像.任何人都知道如何做到这一点?我现在在android中使用和写东西一段时间了,但似乎android没有这个功能.我真的不想写一个新的数学库:).

问候,可以

android image clip distortion

7
推荐指数
1
解决办法
3289
查看次数

返回CATransform3D以将四边形映射到四边形

我正在尝试推导出一个CATransform3D,它将带有4个角点的四边形映射到另一个带有4个新角点的四边形.我花了一点时间研究这个,似乎步骤涉及将原始Quad转换为Square,然后将Square转换为新的Quad.我的方法看起来像这样(从这里借来的代码):

- (CATransform3D)quadFromSquare_x0:(float)x0 y0:(float)y0 x1:(float)x1 y1:(float)y1 x2:(float)x2 y2:(float)y2 x3:(float)x3 y3:(float)y3 {

    float dx1 = x1 - x2,    dy1 = y1 - y2;
    float dx2 = x3 - x2,    dy2 = y3 - y2;
    float sx = x0 - x1 + x2 - x3;
    float sy = y0 - y1 + y2 - y3;
    float g = (sx * dy2 - dx2 * sy) / (dx1 * dy2 - dx2 * dy1);
    float h = (dx1 * sy - …
Run Code Online (Sandbox Code Playgroud)

3d graphics objective-c linear-algebra ios

6
推荐指数
1
解决办法
2107
查看次数