1、读取图片
import cv2 as cv
src = cv.imread('./image.png') # 注意路径 /
cv.namedWindow('Jun',cv.WINDOW_AUTOSIZE) #以图片的大小自动拉伸
cv.imshow('Jun ', src ) # 必须和 nameWindow 同名才行
cv.waitKey(0) # 按任意键
cv.destroyAllWindows()
2、获取图片参数
def get_image_info(image):
print(type(image))
print(image.shape) #高度,宽度,通道
print(image.size) # 高度*宽度*通道
print(image.dtype) #矩阵里的数据类型
get_image_info(src)
3、保存图片
cv.imwrite('./opencv_2.jpg', img)
4、图片像素取反
def inverse(image): #opencv自带像素取反函数
des = cv.bitwise_not(image)
cv.imshow("inverse demo", des)
5、创建一个图片
其实就是创建一个矩阵,然后显示出来而已
def create_image():
img = np.zeros([300,300,3], np.uint8) #三通道
cv.imshow("black", img)
for i in range(3):
img[:, :, i] = np.ones([300,300])*255 #所有通道全为 255
cv.imshow("white", img)
img =np.zeros([300,300,1],np.uint8) #单通道
img[ :, :, 0] = np.ones([300,300])*127 #取值范围 0~255,超过也是255
cv.imshow("gray", img)
6、创建一个视频
def video_demo():
capture = cv.VideoCapture(0)
while True:
ret ,frame = capture.read()
frame = cv.flip(frame, 1) #左右变换, 也能上下变换 -1
cv.imshow("video", frame)
c = cv.waitKey(100) #100ms每一帧读取,如果参数是0,就表示静止
if c == 27: # # 按esc就退出
break
作者:BigBigGuy
链接:https://www.jianshu.com/p/c495764a81da