【一些笔记】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:\Users\Teloy\Desktop\1.jpg", img)
    cv2.imwrite(r"C:\Users\Teloy\Desktop\1.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()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值