做图像处理的预先准备
读取图片和视频,并查看相关信息
每个都亲自测试OK
import cv2 as cv
import numpy as np
print("----------------hi.python!---------------------------")
src = cv.imread("C:/Users/LENOVO/Desktop/test image/Image_2020.jpg")
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE) # 创建一个window
cv.imshow("input image",src) # 通过窗口名字调用读取的图片到当前的窗口上面
# opencv是读取视频的内容对视频的每一帧进行处理,不是视频的编码解码工具,是对视频内容进行对线检测,对象跟踪等,opencv读出来的视频都是没有声音的,它的视频大小是有一定限制的
def video_demo(): # 使用摄像头读取视频画面
capture = cv.VideoCapture(0) # 0可以替换成视频路径对视频进行播放
while(True):
ret,frame = capture.read()
cv.flip(frame, 1) # flip镜像变换,
cv.imshow("video",frame)
c = cv.waitKey(28)
if c == 27:
break
video_demo() # 获取video
def gte_image_info(image): # 读取图片
print(type(image)) # 查看图像的类别 <class 'numpy.ndarray'>
print(image.shape) # (230, 230, 3) 3表示通道数
print(image.size) # 图片的大小 158700 = 230*230*3
print(image.dtype) # 字节位数 uint8
pixel_data = np.array(image)
print(pixel_data)
gte_image_info(src) # 获得图片
gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
cv.imwrite("C:/Users/LENOVO/Desktop/test image/Image_20.png", gray) # 将读取的彩色图转换成灰度图并且保存到指定文件夹下
cv.imshow("gray", gray)
cv.waitKey(0) # 告诉系统需要delay,等待用户的下一个操作
cv.destroyAllWindows() # 响应操作以后就会释放内存