常用操作

1.导入图片

  1. import cv2
  2. img = cv2.imread('watch.jpg',0) #颜色为1,灰度为0,不变为-1
  3. cv2.imshow('image',img)
  4. cv2.waitKey(0) #等待
  5. cv2.destroyAllWindows() #关闭窗口

使用cv2.imread()加载图片并且使用cv2.imshow()显示图片

2.加载视频源

  1. import numpy as np
  2. import cv2
  3. cap = cv2.VideoCapture(0) #加载视频源(由摄像头0加载)
  4. while(True):
  5. ret, frame = cap.read() #读取视频帧 ret为是否有返回的布尔值
  6. gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) #提取灰度(由bgr转换为灰度)
  7. cv2.imshow('frame',gray)
  8. if cv2.waitKey(1) & 0xFF == ord('q'): #检测到按下q时停止
  9. breakcap.release()
  10. cv2.destroyAllWindows()

注意:opencv读取的图像为bgr需要转换才能成为rgb

3.绘制图形

绘制直线

cv2.line(img,(0,0),(150,150),(255,255,255),15)
参数:起点坐标 终点坐标 颜色 线条粗细

绘制矩形

cv2.rectangle(img,(15,25),(200,150),(0,0,255),15)
参数:左上坐标 右下坐标 颜色 线条粗细

绘制圆

cv2.circle(img,(100,63), 55, (0,255,0), -1)
参数:圆心坐标 半径 颜色 线条粗细(-1为填充图形)

4.图像操作

操作像素

  1. import cv2
  2. import numpy as np
  3. img = cv2.imread('watch.jpg',cv2.IMREAD_COLOR)
  1. px = img[55,55] #引用像素
  2. px = [255,255,255] #修改像素

px = img[100:150,100:150] print(px)引用区域(ROI)
print(img.shape) print(img.size print(img.dtype)引用特征

修改图片分辨率

pic= cv2.resize(hsv, (481, 321))