《OpenCV3编程入门》学习笔记番外篇之OpenCV-Python使用

之前一直是使用OpenCV的C++接口来编程,由于python功能强大,现在也有很多人使用OpenCV-Python来完成图像处理的一些工作,因为其比较方便。
这两天由于要为object detection by learning 做一些准备工作,其实也就是把视频样本转换为图片,然后给每一个图片打标签。关于第2步可以直接使用github上的开源代码labelImg 来完成。第1步自己用OpenCV-Python随便写了几行代码,贴在这里,我也是第一次使用python编写opencv,如果用C++编过的话这个基本不需要系统学习,直接查OpenCV-Python Tutorials 文档即可。
我这是使用环境是opencv3.1+python2.7, ubuntu14.04平台。
代码片段1:显示一张图片并将其缩放到指定尺寸

import cv2
img = cv2.imread('good.jpg')   #你好
cv2.namedWindow('Image')
cv2.imshow('Image', img)
res=cv2.resize(img, (400, 296),  interpolation=cv2.INTER_CUBIC)
cv2.imshow('Scale', res)
cv2.waitKey(0)

代码片段2:将视频序列转换为图片序列

#!/usr/bin/env python
#coding:utf-8

import cv2
cap = cv2.VideoCapture('tip3.avi')
i=0
while(cap.isOpened()):
  ret, frame=cap.read()
  frame_scale=cv2.resize(frame, (400, 296), interpolation=cv2.INTER_CUBIC)
  cv2.imshow('frame', frame_scale)
  i+=1
  cv2.imwrite('fullImg/'+str(i)+'.jpg',frame_scale)
  if cv2.waitKey(1)&0xFF==ord('q'):
    break
cap.release()
cv2.destroyAllWindows()

代码片段3:提取出图片序列的一部分作为训练或测试样本

#!/usr/bin/env python
#coding:utf-8

import cv2
import os

os.mkdir('dount')
i=1
while(i<505):
  frame=cv2.imread('dountImg/'+str(i)+'.jpg')
  if i%3==0:   #每3张中取1张当样本
    s='%05d' % i
    cv2.imwrite('dount/'+s+'.jpg', frame)
  i+=1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值