OpenCV学习笔记(1):图像和视频的加载和显示
文章目录
想学习的全面一点看过来吧~ 最全注释,初学不懂的都在注释上面了
01 创建和显示窗口
# opencv名字叫做opencv 但是导包的时候cv2
import cv2
import matplotlib.pyplot as plt
import numpy as np
"""
https://www.bilibili.com/video/BV12Z4y1z7jb?spm_id_from=333.337.search-card.all.click
【不要再看那些过时的OpenCV老教程了】2022巨献,OpenCV零基础小白最新版全套
33h19m46s
"""
# 01 创建和显示窗口
def display_window():
cv2.namedWindow(winname="window",)
# namedWindow(winname[, flags]) []代表可选参数 该函数创建一个可以放置图片或者可拖动控件的窗口,winname表示创建窗口的名字
# WINDOW_NORMAL or WINDOW_AUTOSIZE:前者可以resize窗口大小;后者根据待显示图像大小自动调整窗口大小
# WINDOW_FREERATIO or WINDOW_KEEPRATIO:ratio比例 是否保持图像长宽比
# WINDOW_GUI_NORMAL or WINDOW_GUI_EXPANDED:前者时是绘制窗口的旧方法,没有状态栏和工具栏,而WINDOW_GUI_EXPANDED是一个新的增强的GUI。
# 默认flags参数 == WINDOW_AUTOSIZE | WINDOW_KEEPRATIO | WINDOW_GUI_EXPANDED
cv2.imshow('window', 0)
key = cv2.waitKey(0)
if key & 0xFF == ord('q'): # ord是python中计算ascii值的函数 oxFF要不要都可以
print('准备销毁窗口')
# cv2.destroyWindow('window') 两种销毁窗口的方式
cv2.destroyAllWindows()
display_window()
02 读取和显示图像
opencv 显示图片 读取图片的颜色通道是按照蓝绿红(BGR)
所以一般opencv读出来的图片不要用别的方式去展示 比如matplotlib
matplotlib显示 注意要加plt.show()函数
# 02 读取和显示图像
def display_picture():
# opencv 显示图片 读取图片的颜色通道是按照蓝绿红(BGR)
# 所以一般opencv读出来的图片不要用别的方式去展示 比如matplotlib
img1 = cv2.imread('picture.png')
cv2.imshow('test', img1)
key = cv2.waitKey(0) # @param delay Delay in milliseconds. 0 is the special value that means "forever". 0永远不关闭
if key & 0xFF == ord('q'):
cv2.destroyAllWindows()
# # matplotlib显示 注意要加plt.show()函数
# img2 = plt.imread('picture.png')
#
# # 对比一下两张显示方式
# plt.subplot(1, 2, 1)
# plt.imshow(img1)
# plt.subplot(1, 2, 2)
# plt.imshow(img2)
# plt.show()
display_picture