- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要使用仿射变换来扭曲图像。我得到的错误是“代码已崩溃”。
谁能告诉我我的代码有什么问题?
Mat imgAffine, image, par;
image = imread("/media/sf_vbox_share/ubuntushare/board.jpg",1);
par.at<double>(0,0)= 1.01121; //p1
par.at<double>(1,0)= 0.21067; //p2;
par.at<double>(0,1)= -89.69693; //p3;
par.at<double>(1,1)= - 0.11557; //p4;
par.at<double>(0,2)= 1.44982; //p5;
par.at<double>(1,2)= -193.66149;//p6;
imgAffine = Mat::zeros(image.rows, image.cols, image.type());
warpAffine(image,imgAffine,par, image.size(),INTER_LINEAR);
namedWindow("image",WINDOW_AUTOSIZE);
imshow("image",imgAffine);
cvWaitKey(0);
最佳答案
par
的大小未定义,因此在尝试向其中写入元素时,很可能会出现段错误。在设置它的元素之前先尝试为它分配内存:
// Your code
Mat imgAffine, image, par;
image = imread ("/media/sf_vbox_share/ubuntushare/board.jpg",1);
// New code
par = Mat(2, 3, CV_64FC1); // Allocate memory
// Rest of your code
par.at<double>(0,0)= 1.01121; //p1
par.at<double>(1,0)= 0.21067 ; //p2;
par.at<double>(0,1)= -89.69693; //p3;
par.at<double>(1,1)= - 0.11557; //p4;
par.at<double>(0,2)= 1.44982; //p5;
par.at<double>(1,2)= -193.66149;//p6;
//
// ....
// ....
或者,你可以在声明par
时使用cv::Mat
的构造函数,所以在代码的开头:
Mat imgAffine, image;
Mat par(2, 3, CV_64FC1);
// Rest of your code
image = imread ("/media/sf_vbox_share/ubuntushare/board.jpg",1);
//
// ....
// ....
关于c++ - 如何在 OpenCV C++ 中使用 warpAffine 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44393220/
我正在尝试使用 OpenCVs warpAffine 通过简单的翻译来转换图像。由负面翻译和正面翻译产生的图像让我感到惊讶。 from skimage import data import numpy
我正在尝试使用模板匹配将 2 个图像拼接在一起,找到我传递给 cv2.getAffineTransform() 的 3 组点获取我传递给 cv2.warpAffine() 的扭曲矩阵成对齐我的图像。
我有一张图像,它使用 cv::warpAffine 应用了一个变换。 我还有一组点,我对其应用了相同的变换。 现在,我想对扭曲点周围的像素进行采样。问题是,当我扭曲图像和点时,其中一些点变为负数(因此
我目前使用以下代码序列首先移动图像,然后旋转同一图像: M = np.float32([[1,0,20],[0,1,10]]) shifted = cv2.warpAffine(img,M,(y_si
大家早上好。我正在开发一个 Android 应用程序。我在 logcat 中收到此异常: 06-16 11:42:41.726: WARN/dalvikvm(11429): threadid=13:
我正在使用 openCv 的 warpAffine() 函数通过这段代码旋转图像- void rotateImage(const Mat &src, Mat &dest, double angle)
我正在使用模板匹配 (TM) 来查找图像中所有M 的位置(左侧第一张图像),但我将匹配点的位置(指旋转 ROI 内的位置)重新映射回原始图像时遇到问题: 问题是我需要在这一点上反转(撤消)warpAf
我使用 warpPerspective() 函数创建鸟瞰图像,如下所示: warpPerspective(frame, result, H, result.size(), CV_WARP_INVERS
本文整理了Java中javax.media.jai.WarpAffine.()方法的一些代码示例,展示了WarpAffine.()的具体用法。这些代码示例主要来源于Github/Stackoverfl
我想通过不使用库函数来实现仿射变换。我有一个名为“transformed”的图像,我想应用逆变换来获得“img_org”图像。现在,我正在使用我自己的基本 GetBilinearPixel 函数来设置
我想使用 OpenCV 的 cv2.warpAffine 函数从 CelebA 图像(1024x1024 大小)转换和对齐检测到的人脸(320x240 大小),但转换后图像的质量明显低于我使用时的质量
在我的一个 opencv 程序中,我使用 WarpAffine 函数来旋转图像。这就是我使用该函数的方式。 warpAffine(cropimage, imgRotated, RotateMatrix
我需要使用仿射变换来扭曲图像。我得到的错误是“代码已崩溃”。 谁能告诉我我的代码有什么问题? Mat imgAffine, image, par; image = imread("/media/sf_
我有这张图片: 我有白色圆圈中心的坐标。我有另一张图片: ,它们是同一幅图像,但第二幅图像使用 OpenCV 的 WarpAffine 旋转了 4°。我想做的是计算 4° 图像中白色圆圈的中心坐标,考
我正在尝试扭曲 16 位卫星图像。我有全色图像。我的引用图像是 8192x81920 像素,红色 channel 图像是 4096x40960 像素。当我使用 warpAffine 或 warpPer
我正在尝试转换静态图像,使之产生从不同角度拍摄的错觉。似乎 warpPerspective 和 warpAffine 是我应该理解的函数,才能完成这项工作。然而,即使在阅读了 OpenCV 文档之后,
我正在尝试使用 OpenCV 的 C++ API 将 1296x968 图像90 度旋转我面临一些问题。 输入: 轮换: 如您所见,旋转后的图像存在一些问题。首先,它的大小与原始大小相同,尽管我专门创
我有以下代码: Rect rect = Imgproc.boundingRect(screenCnt2f); // do transpose Mat d
我想在旋转图像后使用以下代码获取 cv::rect (ROI) 的新位置: cv::Point2f center(image.cols/2.0, image.rows/2.0); cv::Rect R
我正在尝试使用 Core Image 完全在 Swift 中复制面部对齐算法。但是,我已经无法尝试在 Swift 中从 opencv 复制一个简单的 warpAffine Python代码: prin
我是一名优秀的程序员,十分优秀!