- 博客(32)
- 收藏
- 关注
原创 Opencv实用操作6 开运算 闭运算 梯度运算 礼帽 黑帽
img_gradient = cv2.morphologyEx(img,cv2.MORPH_GRADIENT,kernel)#(图片,算法,核)img_close = cv2.morphologyEx(img,cv2.MORPH_CLOSE,kernel)#(图片,算法,核)img_open = cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel)#(图片,算法,核)开运算(先腐蚀再膨胀)闭运算(先膨胀,再腐蚀)梯度运算(膨胀-腐蚀)礼帽(原始输入-开)
2025-05-29 12:19:07
405
原创 CVPR2022——立体匹配算法Fast-ACVNet复现
Fast-ACVNet 是一款高效且精确的立体匹配算法,在 CVPR 2022 上首次亮相,随后在 TPAMI 2023 上发表了扩展版本。该方法旨在在保持高精度的同时,实现实时性能,适用于自动驾驶、机器人视觉等对速度和精度要求较高的场景。
2025-05-27 20:53:16
774
原创 CVPR2022暗光增强算法SCI理解+复现
现有的弱光图像增强技术不仅难以兼顾视觉质量和计算效率,而且在未知的复杂场景下往往失效。本文提出了一种新的自校准光照(SCI)学习框架,用于在真实的弱光环境中快速、灵活、鲁棒地对图像进行增亮处理.具体地说,我们建立了一个具有权重共享的级联光照学习过程来处理这个任务。考虑到级联模式的计算量,我们构造了自校准模块,实现了各级结果的收敛,产生了仅使用单个基本块进行推理的增益(在以前的工作中还没有开发过),从而大大降低了计算量。然后定义了无监督训练损失,以提高模型适应一般场景的能力。
2025-05-12 15:58:38
1007
原创 在ubuntu上配置anconda环境(R3588瑞芯微配置)
8.下载安装依赖库,因为我们刚才创建的 rknn-toolkit2 的 python3.8 环境,所以,安装 cp38的所有库依赖。在输入对该文件的应用修改之后,会报错没有文件或目录,这是因为没有添加环境变量,再次编辑.bashrc。一.PC端安装Anaconda3 环境。这里的标红为自己系统的名称,需要更改。若执行以下命令没有报错,则安装。里面已经存放了对应版本的。7.创建conda环境。
2025-04-02 11:25:08
527
原创 RT-DETR使用说明(训练)
RT-DETR 是百度提出的一种实时端到端目标检测模型,基于Transformer架构,通过高效混合编码器、IoU感知查询选择等机制,在COCO数据集上表现出色,且无需NMS后处理,支持灵活的速度调整,适用于实时目标检测任务,尤其在小目标检测上优势明显,可应用于视频监控、自动驾驶等领域。
2025-04-02 11:20:21
651
原创 YOLO-用线性回归去理解
y=X⋅w+b+c 你可以理解为y=ax+b+c它是一个一次函数,那么我们如何找到最合适的a,b,c让。1.数据,yolo的数据集是一张张在图和对应的上标注了框和种类的txt文件,标注文件中包含目标的类。4.方法——梯度下降,通过对网络的训练,用梯度下降的方式更新模型参数从而得到损失最小的权。到所有的网络,作者认为,无论是线性回归、YOLO,还是其他各种神经网络,它们的核心目标都。损失函数是模型训练的“指南针”,我们可以直接让计算机解析这个函数,但是当模型不是一次函数,是更为复杂的n次函数,巨大的。
2025-03-11 21:43:55
1439
原创 YOLOv5训练
Yolov5文件夹中有coco数据集,此数据集基数太大所以我们在roboflow中下载小型数据集训练速度会快一点。将训练集和验证集的路径修改(按照图中的格式修改)两个文件在上张图的train和vailid文件夹中。第二行是yaml文件,通常在models文件夹中(下载的yolov5代码中)第三行自己数据集的yaml文件,刚刚修改的date.yaml文件地址。第一行是权重文件地址(上文github下载的权重文件)它会保存在这个路径下,我们找到它,将它的路径填进去。第一行是训练结果中的权重文件。
2025-03-09 14:38:38
494
原创 YOLOv5环境配置
2.输入conda create -n yolov5_6.0 python=3.8(这是创造一个环境名字叫yolov5_6.0,用python3.8进行编译,名字自己命名)推荐使用python3.8,兼容性好,没有可以先去官网下载。Yolov5-6.0版本有较好的兼容性,安装扩展包时报错较少,首先在GitHub中下载此版本代码。可以看到我的是12.5的,大于11.1都可以直接使用上面代码,不建议使用新版本,出现bug解决不了。下滑找到6.0版本,在Assets找到点击即可下载,解压保存到自己想保存的地方。
2025-03-09 14:30:27
436
原创 CVPR2022 立体匹配-ACVNet
ACVNet () 是 2022 年提出的一种立体匹配(Stereo Matching)算法,主要用于计算左右视图之间的视差图(Disparity Map),以便进行深度估计。该算法采用了一种自适应上下文体积(Adaptive Context Volume, ACV)方法,以增强特征表示能力,提高匹配精度,尤其是在低纹理区域和遮挡区域。2. ACVNet 主要网络结构(1) 特征提取(Feature Extraction)ACVNet 使用ResNet 或者轻量级 CNN 结构提取左右视图的特征。
2025-03-07 14:23:33
1953
原创 项目三 手势识别 控制音量
这个项目是一个基于手势识别的音量控制系统,利用计算机视觉技术和手部检测算法,通过摄像头捕捉用户的手势来调节设备的音量。该系统使用OpenCV库来处理图像,并通过pycaw库与Windows音频API交互,实现对系统音量的控制。本项目是使用了谷歌开源的框架mediapipe,里面有非常多的模型提供给我们使用,例如面部检测,身体检测,手部检测等。
2025-02-24 18:53:22
276
原创 安装pytorch——opencv,深度学习必备
关于如何将anconada的环境配置到PyCharm Community Edition 2024.1中看这个视频就好了。可以看到我的是12.5的,大于11.1都可以直接使用上面代码,不建议使用新版本,出现bug解决不了。前言:作者使用的编译软件是PyCharm Community Edition 2024.1。Pytorch对显卡有一定的要求,如果是30系列以上显卡直接输入以下代码。如何查看cuda版本:cmd窗口输入 nvidia-smi。用anconada管理相关环境。
2025-02-24 18:47:50
260
原创 Anaconda安装教程
Anaconda(Python发行版):一种用于科学计算和数据科学的流行开源Python和R编程语言发行版。Anaconda简化了软件包管理和部署,并包括Jupyter Notebook、Spyder和Conda等工具。
2025-02-24 14:23:07
399
原创 项目二 基于dlib的人脸68关键点识别
这个项目是一个基于Python和OpenCV、dlib库实现的人脸检测和关键点标记程序。该程序能够从摄像头实时捕获视频流或读取指定的视频文件,检测视频中的人脸并标记出人脸的关键点,然后将处理后的结果保存到一个新的视频文件中。整个程序实现了从视频读取、人脸检测、关键点标记到结果输出的完整流程。
2025-02-23 17:38:01
1632
原创 项目一 人脸识别
人脸检测是OpenCV中比较简单的项目。这个项目是一个基于Python和OpenCV库实现的简单人脸检测程序。项目实现通过摄像头捕获的实时视频流或读取指定的视频文件,来检测并标记出视频中的人脸。同时,程序还会将检测结果写入到一个新的视频文件中。程序逻辑是首先创建一个输出目录(如果不存在的话),以确保处理后的视频文件可以被保存到指定的位置。然后,它使用OpenCV的CascadeClassifier加载一个预训练的人脸检测模型,并对视频的每一帧进行灰度转换,以便进行人脸检测。
2025-02-22 18:22:17
543
原创 实用操作9 傅里叶变换高通低通滤波
1.相关函数高频:变化剧烈的灰度分量,例如边界。低频:变化缓慢的灰度分量,例如一片大海。低通滤波器:只保留低频,会使得图像模糊。高通滤波器:只保留高频,会使得图像细节增强。opencv中函数是:cv2.dft()cv2.idft()注意:输入图像需要先转换成np.float32格式。
2025-02-22 12:55:13
203
原创 实用操作10 模板匹配
TM_SQDIFF_NORMED:计算归一化平方不同,计算出来的值越接近0,越相关。TM_CCORR_NORMED:计算归一化相关性,计算出来的值越接近1,越相关。TM CCOEFF_NORMED:计算归一化相关系数,计算出来的值越接近1,越相关。再介绍一个函数此函数可以将数组中最大最小值和对应位置输出出来。TM_SQDIFF:计算平方不同,计算出来的值越小,越相关。TM_CCOEFF:计算相关系数,计算出来的值越大,越相关。TM_CCORR:计算相关性,计算出来的值越大,越相关。(图像,模板,算法)
2025-02-22 12:44:02
314
原创 实用操作 8轮廓检索
1.相关函数1.相关函数(图片,cv2.RETR_TREE(不重要),算法)算法: RETR_LIST:检索所有的轮廓,并将其保存到一条链表当中。RETR_EXTERNAL:只检索最外面的轮廓。RETR CCOMP:检索所有的轮廓,并将他们组织为两层。顶层是各部分的外部边界,第二层是空洞的边界。RETR_TREE:检索所有的轮廓,并重构嵌套轮廓的整个层次。CHAIN_APPROX_NONE: 以Freeman链码的方式输出轮廓,所有其他方法输出多边形(顶点的序列)。
2025-02-21 14:59:05
316
原创 实用操作7 Canny边缘检测
3)应用非极大值(Non-Maximum Suppression)抑制,以消除边缘检测带来的杂散响应。(图片,最小阈值,最大阈值)#1)使用高斯滤波器,以平滑图像,滤除噪声。2)计算图像中每个像素点的梯度强度和方向。#4)应用双阈值(Double-Threshold)检测来确定真实的和潜在的边缘。一个窗口显示原视频一个窗口显示提取结果还有一个窗口来调节阈值。#5)通过抑制孤立的弱边缘最终完成边缘检测。#canny边缘检测。
2025-02-21 14:51:01
218
原创 实用操作6 scharr算子和 soble算子
Scharr算子是Sobel算子的改进版,主要用于提高梯度检测的精度。Scharr算子也是通过对图像进行卷积操作来实现的,但它的卷积核不同,能更好地捕捉边缘细节。img_scharr_x = cv2.Scharr(img,cv2.CV_64F,1,0) (图像,图像深度(-1),dx和dy分别表示水平和竖直方向)(图像,图像深度(-1),dx和dy分别表示水平和竖直方向,ksize是Sobel算子的大小)Sobel算子是一种离散差分算子,用于计算图像的梯度。算子,用于计算图像的梯度,从而检测图像中的边缘。
2025-02-21 14:44:24
425
原创 实用操作3 图像阈值
cv2.THRESH_BINARY 超过阈值部分取maxval(最大值),否则取O。cv2.THRESH_BINARY_INV THRESH_BINARY的反转。maxval:当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值0。cv2.THRESH_TOZERO_INV THRESH_TOZERO的反转。cv2.THRESH_TOZERO大于阈值部分不改变,否则设为0。cv2.THRESH_TRUNC大于阈值部分设为阈值,否则不变。src:输入图,只能输入单通道图像,通常来说为灰度图.
2025-02-21 14:43:43
314
原创 实用操作1 边界填充
BORDER_WRAP:外包装法:cdefgh|abcdefgh|abcdefg。BORDER_REFLECT_101:反射法,也就是以最边缘像素为轴,对称,BORDER REFLECT:反射法,对感兴趣的图像中的像素在两边进行复制。BORDER_REPLICATE:复制法,也就是复制最边缘像素。例如:fedcba]abcdefgh[hgfedcb。例如:gfedcblabcdefghIgfedcba。BORDER_CONSTANT:常量法,常数值填充。
2025-02-21 14:43:17
710
原创 第六节 摄像头读取视频
如果上一次对 VideoCapture的调用成功,则该方法将返回 true(通俗一点就是捕获到了图像)函数用来判断是否捕获到了图片。
2025-02-21 14:42:26
323
原创 第五节 图像变化
rect_img = cv2.rectangle(rectangle,(25,25),(275,275),255,-1)(画布,(对角点1),(对角点2),color,字体)M1 = np.float32([[1,0,100],[0,1,50]]) 这行代码创建了一个2x3的仿射变换矩阵 M1。circle_img = cv2.circle(rectangle,(150,150),150,255,-1)(画布,圆心,半径,color,字体)#颜色空间 灰度 HSV(色度,饱和度,纯度) lab。
2025-02-21 14:42:02
580
原创 第四节 图片处理保存
与上一节运用函数基本相同,新函数将新图片写入指定地址,解析图片函数。图片显示出来并且image文件夹里保存新的图片。(写入地址,待写入图片)解析参数(图片)以字节形式保存参数。Terminal栏输入。黄:处理后的图片地址。
2025-02-21 14:41:23
212
原创 第三节argparse输入参数
import argparse 使用之前记得包含相关库获取所有参数键入参数parser.add_argument("n1",help="第一个参数",type=int)帮助信息”,type=参数类型解析所有参数变量。
2025-02-21 14:41:03
116
原创 第二节 图片的显示
我们可以看到这条红线就是img[:,50] = (0,0,255) #给像素点换颜色BGR该函数结果。(“显示框名称”,显示图片)我们这里对图片进行一些BGR相关操作。代码二:第一节中标红效果展示(标红为新加代码)将BGR调整为RGB。代码一:BGR转化成RBG显示。
2025-02-21 14:40:31
161
原创 第一节 图像基本指令
注:opencv中是BGR(蓝绿红) b = img[10,40,0] g = img[10,40,1] r = img[30,50,2]img_gray:定义的变量 cv2.imread("图片地址", cv2.IMREAD_GRAYSCALE)高度,宽度,通到数 [:3]#显示3通道[:2]显示前两个通道。(1)像素(Pixel)是数字图像的基本单位,也是显示器或图像传感器上的最小独立控制单元。.shape[:3] #读取图片的高宽通道。
2025-02-21 14:40:11
253
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人