看自己用户的名字
whoami
例子1:
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
cv::Mat image;
namedWindow("DebugWindow", WINDOW_NORMAL);
resizeWindow("DebugWindow", 640,480);
image = cv::imread("/home/firefly/fan/1234.jpg");
imshow("DebugWindow", image);
waitKey(0);
image.release();
destroyAllWindows();
return 0;
}
namedWindow()
原型
void nameWindow(const string& winname,int flags = WINDOW_AUTOSIZE) ;
功能
就是新建一个显示窗口。可以指定窗口的类型。
参数
参数1:新建的窗口的名称。自己随便取。
参数2:窗口的标识,
一般默认为WINDOW_AUTOSIZE 。
WINDOW_AUTOSIZE 窗口大小自动适应图片大小,并且不可手动更改。
WINDOW_NORMAL 用户可以改变这个窗口大小
WINDOW_OPENGL 窗口创建的时候会支持OpenGL
resizeWindow()
功能
可任意改变窗口尺寸(但实际的窗口尺寸不会超过相机的最大帧尺寸)
imread()
原型
imread(const string& filename,int flag);
功能
图像读取的意思,image read的缩写
参数
参数一:const string& filename 传入参数为文件名字。
支持图片格式:
1、windows位图:*.bmp,*.dib;
2、JPEG文件:*.jpg,*.jpe,*.jpeg;
3、JPEG 2000 文件;
4、PNG 图片:*.png;
5、便携文件格式;
6、Sun rasters;
7、TIFF文件;
参数二:int flag参入参数
IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道
IMREAD_GRAYSCALE:读入灰度图片
IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道
也可以写成如下:
取值0,将图像转化为灰图;
取值2,原深度图像;
取值4,原颜色图像;
取值1为彩图
一般来说:取值<0 Alpha通道加载图像,=0为灰图。
imshow()
原型
void imshow(const string& winname, InputArray mat);
功能
用于在指定的窗口显示一幅图
参数
第一个参数:
const string&类型的winname,填需要显示的窗口标识名称。
第二个参数:InputArray类型的mat,填需要显示的图像。
规则
1、如果图像数据类型是8U(8位无符号),则直接显示。
2、 如果图像数据类型是16U(16位无符号)或32S(32位有符号整数),则imshow函数内部会自动将每个像素值除以256并显示,即将原图像素值的范围由[0~255*256]映射到[0~255]
3、 如果图像数据类型是32F(32位浮点数)或64F(64位浮点数),则imshow函数内部会自动将每个像素值乘以255并显示,即将原图像素值的范围由[0~1]映射到[0~255](注意:原图像素值必须要归一化)
waitKey()
功能
是等待一个按键按下。
规则
Waitkey在你加载图片时必须使用,否则就会一闪而过;
当x>0,waitkey返回在x时间(毫秒)内按下的按键的ASCII值,否则返回-1;
当x=0,waitkey表示永久等待,直到有键按下;例子
waitKey(0); //任意按键按下,图片显示结束,返回按键键值
waitKey(10); //等待至少10ms图片显示才结束,期间按下任意键图片显示结束,返回按键键值
destroyAllWindows()
功能
关闭窗口并取消分配任何相关的内存使用。
用法
您可以调用destroyWindow()或destroyAllWindows()来关闭窗口并取消分配任何相关的内存使用。
对于一个简单的程序,实际上不必调用这些函数,因为退出时操作系统会自动关闭应用程序的所有资源和窗口
release()
功能
图片,释放
例子
image.release(); 把image的图片释放
VideoCapture capture()
视频的读操作是通过VideoCapture类来完成的;
关于视频的写操作是通过VideoWriter类来实现的。
原型
cv::VideoCapture capture(const string& filename); // 从视频文件读取
cv::VideoCapture capture("lzp.mp4"); // 从视频文件读取