我试图在OpenCV中旋转图像.
我使用了Stack Overflow上的代码:
Mat source(img);
Point2f src_center(source.cols/2.0, source.rows/2.0);
Mat rot_mat = getRotationMatrix2D(src_center, 40.0, 1.0);
Mat dst;
warpAffine(source, dst, rot_mat, source.size());
Run Code Online (Sandbox Code Playgroud)
一旦我dst Mat填充了变量类型,我想把它放回IplImage变量类型,任何想法如何做到这一点?
jef*_*ff7 17
在新的OpenCV 2.0 C++接口它是不是真的有必要从之间来回变化Mat和IplImage,但如果你愿意,你可以使用IplImage运营商:
IplImage dst_img = dst;
Run Code Online (Sandbox Code Playgroud)
请注意,仅创建IplImage标头,并且将共享数据(像素).有关详细信息,请参阅 OpenCV C++界面或目录中的image.cpp示例OpenCV-2.0/samples/c.
lum*_*apu 15
为了拥有整个IplImage对象,我使用了这段代码:
Mat matImage;
IplImage* iplImage;
iplImage = cvCreateImage(cvSize(640,480), IPL_DEPTH_8U, 1);
iplImage->imageData = (char *) matImage.data;
Run Code Online (Sandbox Code Playgroud)
您也可以复制数据而不是指针:
memcpy(iplImage->imageData, matimage.data, 640*480);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52522 次 |
| 最近记录: |