安装opencv-python
安装opencv-python直接使用pip命令来安装。
pip install opencv-python
几个方法及参数的讲解
cv2.imread():读取图像的函数,给出图片的完整路径
此方法一般有两个参数,第一个参数一般就是图像的所在路径,第二个参数一般指定读取方式读取图片的方式一般有三种。
1:cv2.IMERAD_COLOR 默认使用这种标识,加载的是一张彩色图片,忽视它的透明度。
0: cv2.IMERAD_GRAYSCALE :加载一张灰色的图片
-1:cv2.IMERAD_UNCHANGED:加载图像包括它的Alpha通道
cv2.imshow()
此方法是使用对话框展示图片,同样也是有两个参数
第一个参数值得是图像展示对话框的名称,是字符串类型
第二个参数指的是图像对象。
cv2.imshow()函数需要和cv2.waitKey()函数搭配使用,否则cv2.imshow()函数展示的对话框会一闪而逝。
cv2.waitKey()是绑定键盘函数,其作用是等待键盘的输入。否则就睡一直执行imshow()函数直到按下任意一个键。
展示完图片需要将对话框销毁使用
cv.destroyAllWindows()销毁所有的对话框
cv.destroyWindow('person1.jpg')销毁指定的对话框
import cv2 as cv
img = cv.imread("person1.jpg")#此处注意一点假如传入的路径是错误的不会报异常,会直接返回一个none
cv.imshow("person1.jpg",img)
cv.waitKey(0)
cv.destroyAllWindows()
ok,此时展示的图像就是如上所示了。(从百度上找了一张美女壁纸来的)
同时还需要特地注意一点就是,opencv打开图片的三原色是BGR并非是常见的RGB
opencv-处理视频
VideoCapture():一个参数传入的参数是摄像头号或者视频的路径
cv.imwrite9():第一个参数是图片保存的路径,第二个参数是读取的帧数
import cv2 as cv
cap = cv.VideoCapture("ABP-759.mp4")#传入的参数是视频文件或者摄像头号
imgs = []
ret = True
count = 1
while ret:
ret,frame = cap.read()
cv.imwrite("ABP-759" + "-" + str(count) + ".jpg", frame)
count += 1
time.sleep(0.0001)
cpa.read():读取视频或者摄像头的内容,有两个返回值,第一个ret指代的是视频文家你是否出错,假如视频文件出错ret就是FALSE否则是TRUE,第二个参数是读取的视频的每一帧。(每一帧就是一张图像)
至于为什么在最后加一个time.sleep()呢,由于我这个视频文件是一部小电影(呵呵,你懂的)假如直接使用cap.read()读取保存后没有间隔时间的话,一会就会将cpu的内存吃完电脑会直接死机的,所以只能出此下策,使用sleep做一个缓冲。
opencv_矩形绘制
矩形的绘制主要用到了一个cv.rectangle()函数第一个参数:img对象,第二个参数:左上角坐标,第三个参数:右下角坐标,第四个参数:矩形的颜色(BGR),第五个参数:边框的粗细,值越大越粗
img = cv.imread("person1.jpg",1)
img = cv.resize(img,(1000,640),cv.INTER_LINEAR)
#在图像上绘制图形
img2 = cv.rectangle(img,(384,0),(510,128),(0,255,0),1)
#最关键的是cv.rectangle()方法的参数分别代表什么意思
#此处的(380,0)是矩形的左上角坐标,(510,128)是右下角坐标。(0,255,0)BGR是矩形的颜色,1代表的是矩形边框的粗细值越小越细
#保存img2
cv.imwrite("img5.jpg",img2)
运行结果如下图所示。
ok,这些函数足够应对工作了,暂时先更新到这里。