opencv第一课-cnblog

news/2024/7/8 6:22:38 标签: opencv, python, 人工智能

opencv_0">opencv第一课

请添加图片描述

创建窗口

import time

import cv2
#创建窗口
cv2.namedWindow('window',cv2.WINDOW_NORMAL)#cv2.WINDOW_AUTOSIZE自动大小,不允许修改窗口大小

#更改窗口的大小
cv2.resizeWindow('window',800,600)

#展示名字为window的窗口
cv2.imshow('window',0)

key = cv2.waitKey(0) #等待按键,0表示接收任意按键,如果给其他的整数代表等待按键的时间,单位是ms
#print(key)
#waitKey会返回按键的ascii的值
#time.sleep(60)

if key & 0xFF == ord('q'): #key是int型至少16位,ascii码为8位
    print("准备销毁窗口")
    cv2.destroyAllWindows()

读取图片


import matplotlib.pyplot as plt
cat = cv2.imread("./R.jpg") #opencv默认读取bgr
cat
plt.imshow(cat)

读取成功格式

image-20240628163133460

cv2.imshow('cat',cat)
key = cv2.waitKey(0) #等待按键,0表示接收任意按键,如果给其他的整数代表等待按键的时间,单位是ms
#print(key)
#waitKey会返回按键的ascii的值
#time.sleep(60)

if key & 0xFF == ord('q'): #key是int型至少16位,ascii码为8位
    print("准备销毁窗口")
    cv2.destroyAllWindows()
#把展示图片的代码封装成函数,方便重用
def cv_show(name,img):
    cv2.imshow(name,img)
    key = cv2.waitKey(0) #等待按键,0表示接收任意按键,如果给其他的整数代表等待按键的时间,单位是ms
#print(key)
#waitKey会返回按键的ascii的值
#time.sleep(60)

    if key & 0xFF == ord('q'): #key是int型至少16位,ascii码为8位
        print("准备销毁窗口")
        cv2.destroyAllWindows()

    
#从外部py文件#把展示图片的代码封装成函数,方便重用
def cv_show(name,img):
    cv2.imshow(name,img)
    key = cv2.waitKey(0) #等待按键,0表示接收任意按键,如果给其他的整数代表等待按键的时间,单位是ms
#print(key)
#waitKey会返回按键的ascii的值
#time.sleep(60)

    if key & 0xFF == ord('q'): #key是int型至少16位,ascii码为8位
        print("准备销毁窗口")
        cv2.destroyAllWindows()
中导入工具类,即可直接使用

image-20240628163258901

启动外部模块

from un import cv_show
#必须执行外部文件
#table和空格混用的缩进问题,执行之后,会自动把外部函数导入
%run un.py
cv_show('cat',cat)
#必须执行外部文件
#table和空格混用的缩进问题,执行之后,会自动把外部函数导入
%run un.py
cv_show('cat',cat)

http://www.niftyadmin.cn/n/5536737.html

相关文章

用免费的可视化工具制作3D智慧城市大屏,融合数字孪生,引领数据升级

在如今数据驱动的时代,越来越多的场景中都有可视化大屏的身影,许多企业和政府部门也从常规的二维看板渐渐地转向更加炫酷,立体的3D可视化大屏。3D可视化大屏成为了展示复杂数据、实时监控业务动态的重要工具。本文将详细介绍如何使用免费的数…

Websocket通信实战项目(图片互传应用)+PyQt界面+python异步编程(async) (上)服务器端python实现

Rqtz : 个人主页 ​​ 共享IT之美,共创机器未来 ​ Sharing the Beauty of IT and Creating the Future of Machines Together 目录 项目背景 ​编辑​专有名词介绍 服务器GUI展示 功能(位置见上图序号) 客户端GUI展示(h5cssjs&#xf…

2024.07使用gradle上传maven组件到central.sonatype,非常简单

sonatype Uploader 2.6新版本传送门 本文基于sonatypeUploader2.0版本 在1.0版本我们还需要手动去添加maven-publish和signing插件,在2.0版本他已经内置了,如果你仍然需要手动配置,你可以手动添加这两个插件及逻辑。 具体信息参考开源仓库&…

iCloud照片库全指南:云端存储与智能管理

iCloud照片库全指南:云端存储与智能管理 在数字化时代,照片和视频成为了我们生活中不可或缺的一部分。随着手机摄像头质量的提升,我们记录生活点滴的方式也越来越丰富。然而,这也带来了一个问题:如何有效管理和存储日…

从硬件角度看Linux的内存管理

1. 分页机制 分段机制的地址映射颗粒度太大,以整个进程地址空间为单位的分配方式导致内存利用率不高。 分页机制把这个分配机制的单位继续细化为固定大小的页(Page),进程的虚拟地址空间也按照页来分割,这样常用的数据和代码就可以以页为单位…

Oracle PL / SQL 存储过程

PL / SQL存储过程不返回值。他们执行他们的指示并返回。您不能在赋值语句(如函数)的右侧使用存储过程。 创建存储过程 以下代码是一个非常简单的存储过程示例。 它基于SYS.DBMS_LOCK包的程序sleep(数量)。 此存储过程将停止执行…

【AI原理解析】—k-means原理

目录 步骤 注意事项 优点 缺点 步骤 初始化: 选择 k 个初始质心(通常通过随机选择数据集中的 k 个点作为初始质心)。迭代过程: 分配数据点到最近的质心: 对于数据集中的每个数据点,计算它与 k 个质心之…

【C语言入门】初识C语言:掌握编程的基石

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C语言 “ 登神长阶 ” 🤡往期回顾🤡:C语言入门 🌹🌹期待您的关注 🌹🌹 ❀C语言入门 📒1. 选择…