一、前言
二、OpenCV的操作图像
我们先来看一些基本操作。首先我们需要安装OpenCV,执行下面语句:
pip install opencv-python
之后就可以使用了。
2.1、读取和显示
我们直接看代码:
import cv2 # 读取图片 img = cv2.imread("1.jpg") # 显示图片 cv2.imshow("img", img) cv2.waitKey() cv2.destroyAllWindows()
其中waitKey是等待输入的函数,因为imshow之后显示一瞬间,所以我们需要调用它。而destroyAllWindows是释放窗口。
2.2、灰度转换
灰度转换就是将图片转换成黑白图片(灰色),这样可以方便我们处理像素。代码如下:
impo<i>本文来源gaodai$ma#com搞$代*码网2</i>rt cv2 img = cv2.imread("1.jpg") # 灰度转换 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
我们还可以直接以灰度形式读入:
import cv2 # 以灰度形式读入 img = cv2.imread("1.jpg", 0)
2.4、获取图片尺寸并修改尺寸
我们直接看代码:
import cv2 img = cv2.imread("1.jpg", 0) # 获取图片的高宽 h, w = img.shape # 缩放图片 res = cv2.resize(img, (w//2, h//2))
因为img的shape属性是一个元组,所以我们可以直接自动拆包。
然后调用cv2.resize函数,第一个参数传入图片,第二个参数传入修改后的尺寸。
2.5、绘制文字
绘制文字我们需要调用cv2.putText函数,代码如下:
import cv2 img = cv2.imread('1.jpg') # 绘制文字 cv2.putText( # 背绘制的图片 img, # 要绘制的文字 'Hello', # 文字左下角的坐标 (100, 500), # 字体 cv2.FONT_HERSHEY_SIMPLEX, # 字体大小缩放 20, # 文字颜色 (0, 0, 0), # 文字粗细 10 )
我们只需要注意这些参数就好了。
2.6、读取视频
读取视频的操作一般是通用的,代码如下:
import cv2 # 读取视频 cap = cv2.VideoCapture('1.mp4') # 获取视频的帧率 fps = cap.get(cv2.CAP_PROP_FPS) # 循环读取图片的每一帧 while True: # 读取下一帧 ret, frame = cap.read() if not ret: break else: pass cap.release()
上面我们获取的视频的帧,在写入视频的时候我们需要用到。
2.7、写入视频
写入视频的操作也是常规代码:
import cv2 fourcc = cv2.VideoWriter_fourcc(*'mp4v') writer = cv2.VideoWriter('11.mp4', fourcc, fps, (w, h)) # 写入视频 writer.write(frame) *** write.release()
有了这些知识,我们就可以开始下一步工作了。
三、像素映射成字符
对于只有一个通道的图片,我们可以把它当成一个矩形,这个矩形最小单位就是一个像素。而字符化的过程就是用字符替代像素点的过程。所以我们要遍历图像的每个像素点,但是我们应该用什么字符取代呢?