摘要: 根据上一篇博客可知,单纯的通过求取最大面积而进行定位的局限性,因此我们接下来将通过cv2.moments()和cv2.HuMoments()这两个方法来在更复杂的环境中去找到我们的目标区域。 cv2.moments(): 参数: array:表示输入图像的单通道数组。通常是灰度图像,可以是8位或浮点 阅读全文
posted @ 2023-12-21 23:42 VanGoghpeng 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 关于二维码和条形码的检测和识别,在OpenCV中已经有提供了对应的API,cv2.QRCodeDetector() | cv2.barcode_BarcodeDetector() ,相关的实现极其简单: 只需要上述短短三行代码即可检测二维码和条形码的位置并识别码内信息,相关parameter和ret 阅读全文
posted @ 2023-12-21 21:52 VanGoghpeng 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 重新理解一下Canny方法: 参数: image:输入的图像。 threshold1:第一个阈值,用于检测边缘的强度梯度的下限。 threshold2:第二个阈值,用于检测边缘的强度梯度的上限。 apertureSize:Sobel算子的大小,可选值为3、5、7,默认值为3。 L2gradient: 阅读全文
posted @ 2023-12-07 22:27 VanGoghpeng 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 针对遇到的各种复杂形状的主体,大多情况下,我们可以求得一个近似的多边形来简化视觉图像处理,因为多边形是由直线组成的,这样就可以准确的划分区域来便捷后续的操作。 cv2.arcLength() Method: 参数: curve:要计算周长的轮廓,可以是一个矩形、圆形、多边形等封闭曲线。 closed 阅读全文
posted @ 2023-12-06 21:40 VanGoghpeng 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 外接矩形、外接圆: 1 import cv2 2 import numpy 3 4 img = cv2.imread('../img/img.png', -1) 5 ret, thresh = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY) 6 con 阅读全文
posted @ 2023-12-05 21:33 VanGoghpeng 阅读(366) 评论(0) 推荐(0) 编辑
摘要: Code: 1 import cv2 2 import numpy as np 3 4 img = np.zeros((200, 200), dtype=np.uint8) 5 img[50:150, 50:150] = 255 6 7 # ret, thresh = cv2.threshold(i 阅读全文
posted @ 2023-11-30 21:19 VanGoghpeng 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 对于使用OpenCV已有的算子,我们还可以自定义卷积核以达到不同的效果。 filters.py 1 import cv2 2 import numpy 3 4 """ 定义滤波器和类 """ 5 6 7 def strokeEdges(src, dst, blurKsize=7, edgeKsize 阅读全文
posted @ 2023-11-29 21:05 VanGoghpeng 阅读(91) 评论(0) 推荐(0) 编辑
摘要: Cameo项目介绍: 1、实时捕获并显示摄像头帧。 2、具备截图、保存视频和退出三个功能键。 要求存在文件:manager.py 和 cameo.py 一、manager.py 两个类:CaptureManager、WindowManager CaptureManager负责摄像头帧的捕获,编解码得 阅读全文
posted @ 2023-11-27 22:19 VanGoghpeng 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 一、读取写入视频文件 1 import cv2 2 3 # 创建一个视屏捕获对象 4 videoCapture = cv2.VideoCapture('AVI.avi') 5 6 # 获取视频的属性值,cv2.CAP_PROP_FPS获取视频帧率 7 fps = videoCapture.get(c 阅读全文
posted @ 2023-11-21 19:20 VanGoghpeng 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 接上一随笔,这次学习针对图像数据的访问(Numpy.array) 在OpenCV中,使用 imread() 方法可以访问图像,其返回值是一个数组,而根据传入的不同图像,将会返回不同维度的数组。 针对返回的图像数据,即数组,我们是可以进行操作的: 1 import cv2 2 3 # MyPic.pn 阅读全文
posted @ 2023-11-20 19:47 VanGoghpeng 阅读(83) 评论(0) 推荐(0) 编辑