
OpenCV
Python OpenCV
昵称6550523
在哪
展开
-
Python OpenCV第十四课:人脸检测
本文介绍OpenCV的人脸检测技术,使用的是HaarCascade分类器。HaarCascade分类器可以检测人脸在图片中的位置或者表情等。已定义好的HaarCascade数据在这里下载https://github.com/opencv/opencv/tree/master/data先看代码:import cv2image = cv2.imread("./1.jpg")face_cascade = cv2.CascadeClassifier("haarcascade_frontalface原创 2020-07-07 15:11:23 · 411 阅读 · 0 评论 -
Python OpenCV第十三课:图片颜色空间
请先看颜色空间介绍:https://blog.youkuaiyun.com/jiang_ming_/article/details/82534722OpenCV支持超过150种颜色空间,下面方法列出所有支持的方法:import cv2 as cvflags = [i for i in dir(cv) if i.startswith('COLOR_')]print( flags )执行结果:['COLOR_BAYER_BG2BGR', 'COLOR_BAYER_BG2BGRA', 'COLOR_B原创 2020-06-30 10:33:52 · 257 阅读 · 0 评论 -
Python OpenCV第十二课:图片按位操作
可以对图片按位操作,包括和AND、与OR、非NOT和异或XOR。当要提取图像的任何部分、定义和使用非矩形ROI等时,它们将非常有用。下面我们将看到一个如何更改图片特定区域的示例。看完整代码:import cv2import numpy as npimg1 = np.zeros((300, 300), dtype="uint8")cv2.rectangle(img1, (100, 100), (250, 250), 255, -1)cv2.imshow("Image 1", img1)im原创 2020-06-30 10:12:49 · 323 阅读 · 0 评论 -
Python OpenCV第十一课:图片混合
根据OpenCV文档图片混合就是图片做加法,给图片赋予不同的权重,从而给人一种混合或透明的感觉。 图片按以下公式添加:变量范围,您可以在一个图像到另一个图像之间执行一个很酷的转换。这里我把两张图片混合到一起。一张图片权重0.7,另一张图片权重0.3。调用cv2.addWeighted()就是执行了上面的公式。看完整的代码:import cv2img1 = cv2.imread("1.tif")img2 = cv2.imread("2.tif")dist = c...原创 2020-06-30 10:00:43 · 264 阅读 · 0 评论 -
Python OpenCV第十课:对图片算术运算
OpenCV可以对图片进行加、减、乘运算,详细内容请参考官方文档Arithmetic Operations on Images先看范例:import cv2img1 = cv2.imread("1.tif")img2 = cv2.imread("2.tif")add = img1 + img2subtraction = img1 - img2add1 = cv2.add(img1, img2)print(add1)sub2 = cv2.subtract(img1, img2)原创 2020-06-22 17:42:11 · 217 阅读 · 0 评论 -
Python OpenCV第九课:写视频文件
先看完整代码:import cv2 def main(): windowname = "Writing A Video" cv2.namedWindow(windowname) cap = cv2.VideoCapture('y.mp4') filename = "D:\\out.avi" codec = cv2.VideoWriter_fourcc('X', 'V', 'I', 'D') framerate = 29 resol原创 2020-06-01 17:57:20 · 247 阅读 · 0 评论 -
Python OpenCV第八课:读取mp4文件
先看完整代码:import cv2 # 创建VideoCapture对象,读取文件# 如果要读取摄像头就改成0cap = cv2.VideoCapture('y.mp4') if (cap.isOpened()== False): print("Error opening video stream or file") while (cap.isOpened()): ret, frame = cap.read() if ret == True: .原创 2020-06-01 10:30:41 · 3844 阅读 · 0 评论 -
Python OpenCV第七课:滑块调整阈值
本文使用Trackbar滑块调整阈值,主要使用THRESH_BINARY和THRESH_TOZERO。thresholdType:阈值类型,主要有下面几种:enum { THRESH_BINARY=0, THRESH_BINARY_INV=1,THRESH_TRUNC=2, THRESH_TOZERO=3,THRESH_TOZERO_INV=4};THRESH_BINARY:二进制阈值。在运用该阈值类型的时候,先要选定一个特定的阈值量,比如:125,这样,新的阈值产生规则可以解释为大于125.原创 2020-05-29 11:01:44 · 1594 阅读 · 0 评论 -
Python OpenCV第六课:播放AVI文件
OpenCV既可以读取连接电脑的摄像头视频,也可以读取本地视频文件。读取视频文件的第一步是要创建一个VideoCapture对象。它的参数可以是设备索引,也可以是要读取的视频文件名。在大多数情况下,只有一个摄像头连接到系统,所以传"0"就好了。如果有多个摄像头,就传"1"连接第二个摄像头,传2连接第三个摄像头。您没有avi文件的话可以从这里下载范例:AVI文件看完整代码:import numpy as npimport cv2 cap = cv2.VideoCapture('y.a...原创 2020-05-27 16:53:26 · 942 阅读 · 0 评论 -
Python OpenCV第五课:响应鼠标事件画图
先看代码:import cv2import numpy as npwindowname = 'drawing'img = np.zeros((512,512,3), np.uint8)cv2.namedWindow(windowname)def drawCircle(event, x,y,flags, params): if event == cv2.EVENT_LBUTTONDOWN: cv2.circle(img, (x,y), 60,(0,0,255), -1)原创 2020-05-25 16:47:41 · 395 阅读 · 0 评论 -
Python OpenCV第四课:画几何图形
先上代码:import numpy as npimport cv2# Drawing Shapesdef ImageProcessing(): image = np.zeros((512, 512, 3), np.uint8) cv2.line(image, (20,200), (200,20), (0,0,255),5) cv2.rectangle(image, (200,60), (20,200), (255,0,0), 3) cv2.circle(原创 2020-05-25 16:38:14 · 214 阅读 · 0 评论 -
Python OpenCV第三课:Matplotlib Graphs里读取图片
Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。安装方法:pip install matplotlib完整代码:#!/usr/bin/python# -*- coding:utf-8 -*-import cv2import matplotlib.pyplot as pltimage = cv2.imread("hua.jpg")plt原创 2020-05-25 16:20:03 · 186 阅读 · 0 评论 -
Python OpenCV第二课:保存图片和响应按键
直接看代码:import cv2 img = cv2.imread("hua.jpg")cv2.imshow("读写图片", img) k= cv2.waitKey(0) if k == 27: # 按ESC退出 cv2.destroyAllWindows() elif k == ord('s'): # 按s保存并退出 cv2.imwrite("JPG新图片.jpg", img) cv2.destroyAllWindows()导入OpenCV很简单,原创 2020-05-25 16:02:19 · 1468 阅读 · 0 评论 -
Python OpenCV第一课:简介和读取图片
OpenCV是什么?OpenCV(Open Source Computer Vision)是一个开源库,包含500多个优化的图像和视频分析算法,OpenCV 是英特尔开发的,你可以使用 OpenCV显示网络摄像头的视频。还可以:读写图片人脸识别文字识别修改图片的质量、颜色安装OpenCV很简单,执行pip install opencv-python这是一个读取图片的实例:import cv2 imgName = "hua.jpg" image= cv2.imread(im...原创 2020-05-22 14:32:52 · 206 阅读 · 0 评论