前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenCVSharp学习笔记(二)显示窗口和加载图片保存图片

OpenCVSharp学习笔记(二)显示窗口和加载图片保存图片

作者头像
MaybeHC
发布2024-04-23 19:37:25
760
发布2024-04-23 19:37:25
举报
文章被收录于专栏:技术之路技术之路

显示窗口和加载图片

创建和显示窗口,因为比较简单我就直接上代码了

代码语言: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);
本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 显示窗口和加载图片
    • 创建窗口
      • 加载图片
        • 展示窗口
          • 修改窗口大小
          • 运行结果
            • 保存图片
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
            http://www.vxiaotou.com