当前位置: 首页 > news >正文

opencv(1):创建和显示窗口, 读取保存图片

下载源码,方便查看 API 信息。

快速在源码文件夹中搜索相关 api.

grep“namedWindow('*-Rn// 限定 .h 文件
grep“namedWindow('*-Rn|grep "\.h" 

vscode 语法检测有问题

一直有波浪线
打开 vscode, setting 界面,搜索 python
在 setting.json 中打开 ,添加

 "python.linting.pylintArgs": ["--errors-only","--generated-members=numpy.*,torch.*,cv2.*,cv.*",],

创建和显示窗口

涉及的 API:

  • namedWindow()
  • imshow()
  • destroyAllWindows()
  • resizeWindow

namedWindow()

cv.namedWindow(winname, flags=None)

OpenCV中namedWindow()函数使用

flags 描述:
在这里插入图片描述

在这里插入图片描述

import sysimport cv2cv2.namedWindow("new", cv2.WINDOW_AUTOSIZE)
cv2.resizeWindow("new", 400, 400)  # 设置窗口大小
cv2.imshow("new", 0)# 所有的鼠标和键盘的事件都是通过 waitKey() 来进行的# 0 表示一直显示
cv2.waitKey(0)
# 1 表示 1ms 后消失
# cv2.waitKey(1)
# 1000 表示 1s 后消失q
# cv2.waitKey(1000)key = cv2.waitKey(0)
if key == ord("q"):sys.exit()
# 销毁所有窗口
cv2.destroyAllWindows()

加载图片

涉及的 API:

  • imread

opencv学习——imread()读取图像

imread

import cv2cv2.namedWindow("new", cv2.WINDOW_NORMAL)
cv2.resizeWindow("new", 400, 400)  # 设置窗口大小
img = cv2.imread("C:/Users/PC/Pictures/test.JPG")
cv2.imshow("new", img)
key = cv2.waitKey(0)
if key == ord("q"):exit()
# 销毁所有窗口
cv2.destroyAllWindows()

保存图片

  • imwrite(name, img)
    • name: 要保存的文件名
    • 要保存的mat

相关文章:

  • Zigbee智能家居方案设计
  • 第三章 栈和队列【24王道数据结构笔记】
  • 滴滴 Redis 异地多活的演进历程
  • 网络安全准入技术之MAC VLAN
  • 点云从入门到精通技术详解100篇-双传感器模式的非结构化环境检测与识别(续)
  • AIGC ChatGPT 4 与 Python 进行数据分析与可视化
  • 突发!奥特曼宣布暂停ChatGPT Plus新用户注册!
  • posix定时器的使用
  • OPPO Watch纯手机开启远程ADB调试
  • AdaBoost 算法:理解、实现和掌握 AdaBoost
  • LeetCode(18)整数转罗马数字【数组/字符串】【中等】
  • openEuler安全配置规范基线
  • 未定义与 ‘double‘ 类型的输入参数相对应的函数 ‘Link‘
  • 【Python】基础(学习笔记)
  • 第1章 走近Java【深入理解Java虚拟机:JVM高级特性与最佳实践(第三版)】
  • 78. Subsets
  • css系列之关于字体的事
  • JS数组方法汇总
  • linux安装openssl、swoole等扩展的具体步骤
  • Vue全家桶实现一个Web App
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 记录一下第一次使用npm
  • 类orAPI - 收藏集 - 掘金
  • 利用DataURL技术在网页上显示图片
  • 两列自适应布局方案整理
  • 前端临床手札——文件上传
  • 使用 Docker 部署 Spring Boot项目
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 学习笔记TF060:图像语音结合,看图说话
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • $.ajax()
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (4.10~4.16)
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (定时器/计数器)中断系统(详解与使用)
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (蓝桥杯每日一题)love
  • (六)vue-router+UI组件库
  • (四)JPA - JQPL 实现增删改查
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转载)Google Chrome调试JS
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .Net Core 中间件验签
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .Net Remoting常用部署结构
  • .NET 的程序集加载上下文
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • /etc/sudoers (root权限管理)