【一些笔记】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()