opencv
opencv-python基础
辰之粥
这个作者很懒,什么都没留下…
展开
-
cv.waitKey()函数
cv.waitKey(x)x 表示键盘等待用户输入的时间,若无输入,则自动关闭。常将这个函数无限循环形成视频。例如:cv.waitKey(50)表示等待50ms(1s = 1000ms)。无限循环形成视频时,帧率是20fps。(50ms × 20ms = 1000ms)...原创 2020-01-16 22:53:10 · 1158 阅读 · 0 评论 -
阈值+滑动条
import cv2 as cvimport numpy as npdef nothing(): passimg = cv.imread("D://opencv_test//test_a.jpg")cv.namedWindow("win")cv.createTrackbar("Threshold", "win", 0, 255, nothing)img_gray = cv...原创 2020-01-17 21:21:17 · 401 阅读 · 0 评论 -
掩膜操作
import cv2 as cvimport numpy as npimg_1 = cv.imread("D://opencv_test//test_4.jpg")img_2 = cv.imread("D://opencv_test//test_5.jpg")r_1, c_1 = img_1.shape[0:2]r_2, c_2 = img_2.shape[0:2]#划定感兴趣区域...原创 2020-01-17 20:46:55 · 631 阅读 · 0 评论 -
保存录像
cv.VideoWriter_fourcc()返回一种视频编码。例:fourcc = cv.VideoWriter_fourcc(*“DIVX”)win常用视频编码cv.VideoWriter()返回一个对象。第一个参数:保存视频文件路径和名字第二个参数:视频编码第三个参数:保存视频的帧数第四个参数:保存视频的尺寸例:out = cv.VideoWriter(“D://openc...原创 2020-01-16 23:21:37 · 171 阅读 · 0 评论 -
打开摄像头并自动保存截图
import cv2 as cvimport numpy as np# a 用于计时a = 0# b 用于保存截图的名字b = 0cap = cv.VideoCapture(0)while(1): a = a + 1 ret, frame = cap.read() cv.imshow("win", frame) # 2000ms即2s保存一张截图...原创 2020-01-16 22:58:57 · 705 阅读 · 2 评论 -
几何变换(2)
仿射变换在仿射变换中,原图中所有的平行线在结果图像中同样平行。为了创建这个矩阵我们需要从原图像中找到三个点以及他们在输出图像中的位置(三个点)。然后 cv2.getAffineTransform 会创建一个 2x3 的矩阵,最后这个矩阵会被传给 函数 cv2.warpAffine。用到的函数:cv.getAffineTransform()得到仿射变换矩阵参数:原图像的三个点仿射变换后是的三个...原创 2020-01-16 12:08:41 · 185 阅读 · 0 评论 -
几何变换(1)
一、扩展缩放用到的函数:cv.resize()参数:图像名字要放大或缩小的尺寸(不用时写None)fx=…比例因子fy=…比例因子interpolation=…格式类型在缩放时我们推荐使用cv2.INTER_AREA, 在扩展时我们推荐使用 v2.INTER_CUBIC(慢) 和 v2.INTER_LINEAR。 默认情况下所有改变图像尺寸大小的操作使用的插值方法都是cv2.I...原创 2020-01-15 22:49:09 · 104 阅读 · 0 评论 -
物体跟踪
用到的函数:np.array()创建数组cv.cvtColor()转换颜色空间参数:图像名字格式cv.inRange()参数:原图像名字HSV最低值,低于此值HSV值变成0HSV最高值,高于此值HSV值变成0(在中间HSV值变成255)import cv2 as cvimport numpy as npimg = cv.imread("D://opencv_tes...原创 2020-01-15 17:45:25 · 149 阅读 · 0 评论 -
图像上的算术运算(2)——阈值、掩膜
按位运算目标:把 OpenCV 的标志放到另一幅图像上。用到的函数:cv.cvtColor()颜色处理图像名字格式cv.threshold()有两个返回值参数:图像名字阈值最大值(一般为255)格式bitwise_and是对二进制数据进行“与”操作,即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“与”操作,1&1=1,1&0=1,0&1...原创 2020-01-15 15:38:19 · 945 阅读 · 0 评论 -
图像上的算术运算(1)
一、图像加法两幅图像的大小,类型必须一致,或者第二个 图像可以是一个标量值。第一种方法:直接相加:import cv2 as cvimport numpy as npimg_1 = cv.imread("D://opencv_test//test_a.jpg")img_2 = cv.imread("D://opencv_test//test_c.jpg")img_3 = img...原创 2020-01-14 22:28:59 · 193 阅读 · 1 评论 -
图像的基础操作
一、获取并修改像素值将图像看成三维的,x,y和图层(BGR),因此若是[x,y]则输出三个图层的数值,若是[x,y,z]则输出一个数值。第一种方法:import cv2 as cvimport numpy as npimg = cv.imread("D://opencv_test//test_a.jpg")print(img)#直接输出图像的每个像素点print(img[100,...原创 2020-01-14 21:36:37 · 320 阅读 · 0 评论 -
创建一个简单的画板
用到的函数:1.cv.createTrackbar()有5个参数滑动条的名字窗口的名字数值的最小值数值的最大值函数2.cv.getTrackbarPos()有2个参数滑动条的名字窗口的名字函数的返回值是滑动条的数值。import cv2 as cvimport numpy as npdef nothing(x): passimg = np.zeros(...原创 2020-01-14 17:29:35 · 199 阅读 · 0 评论 -
用滑动条做调色板
用滑动条做调色板用到的函数:1.cv.createTrackbar()有5个参数滑动条的名字窗口的名字数值的最小值数值的最大值函数2.cv.getTrackbarPos()有2个参数滑动条的名字窗口的名字函数的返回值是滑动条的数值。import cv2 as cvimport numpy as npdef nothing(x): passcv.n...原创 2020-01-14 15:04:17 · 142 阅读 · 0 评论