目录
图像翻转
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS *** 作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令, 如今也提供对于C#、Ch、Ruby,GO的支持。
使用vs2017配置Opencv,为了方便函数的调用和实现,在项目中总共需要建立三个文件,在主函数中实现读原图片文件、输出原图片、函数调用的 *** 作,在头文件中设置一个类,包含需要实现的函数的声明,在另外一个文件中存放函数的定义。
下面这是包含主函数的文件,函数名为main.cpp
#include#include #include //项目中的头文件 using namespace cv; using namespace std; int main(int argc, char** argv){ Mat src = imread("D:\Hc_study\opencv_picture\9.jpg");//读入原图片 if (src.empty()) { printf("could not load image......n"); return -1; } imshow("输入窗口", src);//输出原图片 quickdemo qd; qd.flip_demo(src);//函数调用 waitKey(0); destroyAllWindows(); return 0; }
下面这是项目的头文件,可以在pubic后面写要实现的函数的声明,函数名为quickopencv.h
#pragma once #includeusing namespace cv; class quickdemo { public: };
下面这个文件存放函数的定义,函数名为quick.cpp
#include图像翻转 实现方法#include #include using namespace std;
flip(InputArray src, OutputArray dst, int flipCode)函数
参数:src,输入矩阵;
dst,翻转后矩阵,类型与src一致;
flipCode,翻转模式,flipCode==0垂直翻转(沿X轴翻转),flipCode>0水平翻转(沿Y轴翻转),flipCode<0水平垂直翻转(先沿X轴翻转,再沿Y轴翻转,等价于旋转180°)
代码在quickopencv.h文件中public后面添加下面语句
void flip_demo(Mat &image);
在quick.cpp中添加下面函数
void quickdemo::flip_demo(Mat &image) { Mat dst; flip(image, dst, 1);//实现左右翻转 imshow("图片翻转", dst); }
运行结果如下,左边是翻转之后的结果,右边是原图片
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)