opencv——图像处理

关键字处理,打开图片,显示图片和保存图片

import cv2 as cv
img = cv.imread(r"E:\BaiduNetdiskWorkspace\normal\1\4.jpg",0)
cv.imshow('image',img)
k = cv.waitKey(0)
if k == 27: # 等待ESC退出
 cv.destroyAllWindows()
elif k == ord('s'): # 等待关键字,保存和退出
 cv.imwrite(r"E:\BaiduNetdiskWorkspace\normal\1\44.jpg",img)
 cv.destroyAllWindows()

请添加图片描述

matplotlib的一些操作

更多操作:http://matplotlib.org/api/pyplot_api.html

plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
plt.xticks([]), plt.yticks([]) # 隐藏 x 轴和 y 轴上的刻度值
plt.show()

请添加图片描述

获取视频图像的操作,如果是外接摄像头可以将VideoCapture(0)中的0 换成1或别的数字,看具体是哪个摄像头这里是获取逐帧图像,转化为灰度图像

#cap = cv.VideoCapture('vtest.avi')在文件中获取视频播放,文件地址根据需要修改
if not cap.isOpened():
    print("Cannot open camera")
    exit()
while True:
    # 逐帧捕获
    ret, frame = cap.read()
    # 如果正确读取帧,ret为True
    if not ret:
        print("Can't receive frame (stream end?). Exiting ...")
        break
#我们在框架上的操作到这里
    gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
 # 显示结果帧e
    cv.imshow('frame', gray)
    if cv.waitKey(1) == ord('q'):
         break
#完成所有操作后,释放捕获器
cap.release()
cv.destroyAllWindows()

画一条厚度为5的线

import cv2 as cv
# 创建黑色的图像
img = np.zeros((512,512,3), np.uint8)
# 绘制一条厚度为5的蓝色对角线
cv.line(img,(0,0),(511,511),(255,0,0),5)
cv.imshow("line", img)
cv.waitKey()

请添加图片描述

一些其他画图操作

cv.circle(img,(447,63), 63, (0,0,255), -1)
cv.ellipse(img,(256,256),(100,50),0,0,180,255,-1)
pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
pts = pts.reshape((-1,1,2))
cv.polylines(img,[pts],True,(0,255,255))
cv.imshow("line", img)
cv.waitKey()

请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值