显示窗口和加载图片
创建和显示窗口,因为比较简单我就直接上代码了
代码语言:javascript复制//创建窗口
Cv2.NamedWindow("new", WindowFlags.Normal);
//加载图片
Mat img = Cv2.ImRead(@"E:/1.jpeg");
//展示窗口
Cv2.ImShow("new", img);
//等待输入时间
Cv2.WaitKey(0);
//销毁窗口资源
Cv2.DestroyAllWindows();
创建窗口
代码语言:javascript复制Cv2.NamedWindow("new", WindowFlags.Normal);
第一个参数为窗口名称,第二个参数为窗口状态,窗口状态里面的内容很多,可以点进去看每种状态的作用,我这里只说两种常用的
代码语言:javascript复制WindowFlags.Normal
该状态下用户可以调整窗口大小,随意拖动
代码语言:javascript复制WindowFlags.AutoSize
该状态下用户不能调整窗口大小,受图片大小影响 我也把所有状态贴出来供大家参考
代码语言:javascript复制 //
// 摘要:
// Flags for cv::namedWindow
[Flags]
public enum WindowFlags
{
//
// 摘要:
// the user can resize the window (no constraint) / also use to switch a fullscreen
// window to a normal size
Normal = 0,
//
// 摘要:
// the ratio of the image is respected
KeepRatio = 0,
//
// 摘要:
// status bar and tool bar
GuiExpanded = 0,
//
// 摘要:
// the user cannot resize the window, the size is constrainted by the image displayed.
AutoSize = 1,
//
// 摘要:
// change the window to fullscreen
FullScreen = 1,
//
// 摘要:
// old fashious way
GuiNormal = 16,
//
// 摘要:
// the image expends as much as it can (no ratio constraint)
FreeRatio = 256,
//
// 摘要:
// window with opengl support
OpenGL = 4096
}
加载图片
代码语言:javascript复制Mat img = Cv2.ImRead(@"E:/1.jpeg");
后面的参数为图片路径
展示窗口
代码语言:javascript复制 Cv2.ImShow("new", img);
第一个参数为窗口名称,后面为Mat类,也就是前面加载的图片类 该方法如果第一个参数指定的窗口名称不存在,则会自动进行创建后显示。
修改窗口大小
如果我们需要修改窗口的大小,可以使用
代码语言:javascript复制Cv2.ResizeWindow("new", 640,480);
第一个参数为窗口名称,后面为宽度和高度
Cv2.WaitKey(0);为设置窗口的等待时间,0为不限制时间,如果不添加该参数会发现窗口会闪退 Cv2.DestroyAllWindows();用于销毁窗口资源
运行结果
保存图片
保存图片的方法很简单这里我就不多做说明了
代码语言:javascript复制 Mat img = Cv2.ImRead(@"E:/1.jpeg");
Cv2.ImWrite(@"E:/1.png",img);