【一些笔记】Py3中的openCV基础初步学习入门导入

Py3中的openCV基础初步学习入门导入

[by_041]

又是个想学很久的东西了~ 名字长是想更容易被检索到略略略、

从安装开始

    先下载安装包文件:打开,下载对应操作系统和Py版本的whl文件 比如我下的opencv_python-4.5.4.60-cp39-cp39-win_amd64.whl 其中4.5.4.60是opencv的版本号,cp39是Py的版本号,win_amd64是系统的版本号 值得注意的是,在网站里越高的版本在越下面噢~ 下载了.whl文件后在对应文件夹中打开cmd使用Py的包管理器下载即可,命令形式一般为: pip install opencv_python-....whl

一些基操

调用

import cv2

读取

    读取图片 dirpath = r... # 此处加入图片路径 img_cv = cv2.imread(dirpath) 获取图片信息 print("img_cv:",img_cv.shape) # 输出:img_cv: (高的像素个数, 长的像素个数, [3表示三通道的channels彩图格式,没有则是单通道]) row,column,noneed=img.shape

输出

    窗口输出 cv2.namedWindow("Image") # 接着创建一个窗口 cv2.imshow("Image", img_cv) # 在窗口中显示图像 cv2.waitKey(0) # 等待在图像窗口上的按键 # 这个参数0好像不写也行??? # 如果不添,在命令行中执行的话,会一闪而过滴 cv2.destroyAllWindows() # 释放窗口,好习惯!

复制

    一种方法 img2 = img.copy() 又一种方法 img2=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) # 可以用 emptyImage3[...]=0 将图像转成空白的黑色图像

缩放

    对目标大小按比例缩放 img.resize()

创建

    创建一张图 import cv2 import numpy as np row,column=400,800 # 设置高度宽度(即像素矩阵的行数列数) img = np.zeros((row,column), np.uint8) # 创建一张全黑图 # 在中间打个× for i in range(row): # 正对角线 img[i][int(i*column/row)]=0xffffff for i in range(row): # 副对角线 img[i][int(column-1-i*column/row)]=0xffffff # 或者画个三角分形 for i in range(row): for j in range(column): if i&j==0: img[i][j]=0xffffff # 输出图像以及善后 cv2.namedWindow("Image") cv2.imshow("Image", img) cv2.waitKey(0) cv2.destroyAllWindows()

保存

    保存一张图片 cv2.imwrite(r"C:UsersTeloyDesktop1.jpg", img) cv2.imwrite(r"C:UsersTeloyDesktop1.png", img, [int(cv2.IMWRITE_JPEG_QUALITY), 95]) # 95表示的是图像的质量,越大质量越高,是0-100的整数表示,默认值为95 # 注意cv2.IMWRITE_JPEG_QUALITY类型为Long需要转换成int

~~{存一下现在瞎搞的事情}~

import cv2
import numpy as np
cv2.namedWindow("Image")

row,column=400,800
img = np.zeros((row,column), np.uint8)

def refresh_image():
	cv2.imshow("Image", img)
	cv2.waitKey()

x,y=0,0
while x<row and y<column:
	img[x][y]=0
	x+=1
	y+=1
	img[x][y]=0xffffff
	refresh_image()

cv2.destroyAllWindows()
经验分享 程序员 微信小程序 职场和发展