3. 把一幅灰度图像进行旋转。
#include <opencv/cv.h> #include <opencv/highgui.h> IplImage *rotateImage(const IplImage *src, int angleDegrees) { IplImage *imageRotated = cvCloneImage(src); if (angleDegrees != 0){ CvMat* rot_mat = cvCreateMat(2, 3, CV_32FC1); CvPoint2D32f center = cvPoint2D32f(cvGetSize(imageRotated).width / 2, cvGetSize(imageRotated).height / 2); cv2DRotationMatrix(center, angleDegrees, 1, rot_mat); cvWarpAffine(src, imageRotated, rot_mat); } return imageRotated; } int main() { IplImage* img; IplImage* rotated_img; int angle = 0; img = cvLoadImage("6013202130.jpg"); rotated_img = rotateImage(img, 223); cvNamedWindow("选做-图片旋转", CV_WINDOW_AUTOSIZE); cvNamedWindow("原图", CV_WINDOW_AUTOSIZE); cvShowImage("原图", img); cvShowImage("选做-图片旋转", rotated_img); cvWaitKey(0);//等待按键 cvDestroyWindow("原图"); cvDestroyWindow("选做-图片旋转"); cvReleaseImage(&img); cvReleaseImage(&rotated_img); return 0; }
声明:
博主是原悦乎教程网站长,博主写博客花费了大量精力,我的博客欢迎转载共享,但在 同时,希望保留我的署名权,不得用于商业用途。转载时请注明转载地址。未经特别说明,均采用“署名-非商业性使用-禁止演绎 2.5 中国大陆”授权。任何违反本协议的行为均属于非法行为。