- 博客(48)
- 收藏
- 关注
原创 opencv二值化数据增强
/************************************************************* 图像增强算法【在主函数main中调用即可】*************************************************************/#include<iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.
2020-10-27 17:01:09
438
原创 Jeston Nano linux 镜像文件
链接:https://pan.baidu.com/s/1t1MUVF0eAexMODH5OhryvA提取码:q8w2
2020-10-09 10:39:49
274
原创 linux添加环境变量(tensorrt)
$ vim ~/.bashrc # 打开环境变量文件# 将下面三个环境变量写入环境变量文件并保存export LD_LIBRARY_PATH=TensorRT解压路径/lib:$LD_LIBRARY_PATHexport CUDA_INSTALL_DIR=/usr/local/cuda-9.0export CUDNN_INSTALL_DIR=/usr/local/cuda-9.0# 使刚刚修改的环境变量文件生效$ source ~/.bashrc...
2020-09-27 16:54:23
2535
原创 pytorch注意力机制实现
import torchimport torch.nn as nnimport torch.nn.functional as Fclass SEModule(nn.Module): def __init__(self, channels, reduction=16): super(SEModule, self).__init__() self.avg_pool = nn.AdaptiveAvgPool2d(1) self.fc_1 = nn.C
2020-09-27 09:13:25
2013
1
原创 python多线程操作数据
1.threading.Lock()''' 如果多个线程对某一资源同时进行修改,可能会存在不可预知的情况。为了修改数据的正确性,需要把这个资源锁住,只允许线程依次排队进去获取这个资源。当线程A操作完后,释放锁,线程B才能进入。如下脚本是开启多个线程修改变量的值,但输出结果每次都不一样。 ''' import threadingmoney = 0def Order(n): global money money = money + n money = money - n
2020-09-23 15:06:23
240
原创 python多线程,多进程 队列处理图像识别
#多进程from multiprocessing import Queue, Process, freeze_supportimport cv2import dlib,numpy# 1.人脸关键点检测器predictor_path = "shape_predictor_68_face_landmarks.dat"# 2.人脸识别模型face_rec_model_path = "dlib_face_recognition_resnet_model_v1.dat"# 3.候选人文件candi
2020-09-02 10:44:25
1623
1
原创 yolo项目总结
学习率调整,我一般遵循先大后小,多次实验初始训练收敛慢,但在收敛,学习率增大初始训练,map跳动,降低学习率训练一段时间后,不再收敛,先减小学习率继续训练,看效果,一般会很慢收敛的,不行再小幅度增大学习率(防止陷入局部最优)bs 一般为32 16 64 ,多试学习率的初始为0.0015 上下iou 阈值:可0.5-0.7适当调整不建议修改网络结构,比如(添加注意力,采用,增加,修改,删除其他block),时间算力充裕的例外网络裁剪适用与需要模型size小的项目,减通道可大幅减小模型大小,但推
2020-08-25 12:01:19
452
原创 pytorch实现yolov4CSPDarknet53主干网络
```pythonimport torchimport torch.nn.functional as Fimport torch.nn as nnimport mathfrom collections import OrderedDict#-------------------------------------------------## MISH激活函数#-------------------------------------------------#class Mish(n.
2020-08-17 14:07:38
2584
1
原创 pytorch实现densnet
class _DenseLayer(nn.Sequential): '''DenseBlock中的内部结构,这里是BN+ReLU+1x1 Conv+BN+ReLU+3x3 Conv结构,最后也加入dropout层以用于训练过程。''' def __init__(self, num_input_features, growth_rate, bn_size, drop_rate): super(_DenseLayer, self).__init__()...
2020-08-17 10:37:55
348
原创 opencv demo(四) 模板匹配
#include "opencv2/opencv.hpp"#include <iostream>using namespace std;using namespace cv;void main(){ Mat frame, resultImg; Mat templateImg = imread("mo.png"); VideoCapture cap("w.mp4"); if (!cap.isOpened()) return; int resultImg_cols, res
2020-08-13 16:27:56
188
原创 opencv demo(三) 通过滑轮来调整阈值
```cpp#include<opencv2/opencv.hpp>#include<iostream>using namespace cv;using namespace std;Mat dst;int value = 20;void onChange(int, void* param) { Mat src = *(Mat*)param; threshold(src, dst, value, 255, THRESH_BINARY);//二值化 .
2020-08-13 14:32:29
238
原创 yolo配置文件说明
[net] ★ [xxx]开始的行表示网络的一层,其后的内容为该层的参数配置,[net]为特殊的层,配置整个网络# Testing ★ #号开头的行为注释行,在解析cfg的文件时会忽略该行# batch=1# subdivisions=1# Trainingbatch=64 ★ 这儿batch与机器学习中的batch有少许差别,仅表示网络积累多少个样本后进行一次BP sub
2020-08-11 10:44:59
190
原创 opencv demo(二) 批量读取图片,视频分解图片与图片合成视频
1.批量读取图片#include<opencv2/opencv.hpp>using namespace cv;void main(){ //批量读取图片(有序) char filename[50]; char winName[50]; Mat srcImg; for (int i = 1; i < 100; i++) { sprintf(filename,"%d.bmp",i); sprintf(w
2020-08-10 17:42:15
221
原创 opencv demo (一) 视频流操作
1.读取视频文件#include<opencv2/opencv.hpp>using namespace cv;void main(){ VideoCapture cap; cap.open("E://2.avi"); //打开视频,以上两句等价于VideoCapture cap("E://2.avi"); //cap.open("http://www.laganiere.name/bike.avi");//也可以直接从网页中获取图片,前提是网页有视频,以及网速够
2020-08-10 17:38:16
470
原创 linux下训练yolo
1.准备数据集labelimg进行图片标注把图片放入JPEGImages文件夹,xml放入Annotations文件夹2.建立自定义数据文件夹myData3.修改myData.names我的 myData.namespersonfiresmokehat4.进入cfg文件夹 修改cfg 文件,具体内容根据自己数据集来修改调参5.cfg文件夹下建立my_data.data我的my_data_dataclasses= 4train = ./myData/myData_train.tx
2020-08-05 17:11:38
478
3
原创 window10运行yolov4 GPU版 编译yolo_cpp_dll
安装vs2017 opencv3.4.0 cuda10 cudnn(关于安装自行上网搜索,需要安装文件的可私信)2.配置cuda和opencv环境变量3.下载darknet 打开yolo_cpp_dll.sln,调试-属性 来配置工程(不是cuda10的还需要自己配置darknet.vcxproj,搜索cuda 修改为自己cuda版本)4.配置完成后编译即可生成的yolo_cpp_dll.dll直接用...
2020-08-05 09:45:11
1815
原创 pytorch逻辑分类(一)
import torchimport myresnetimport torch.nn as nnimport torch.nn.functional as F#数据集准备x_data = torch.Tensor ([[1.0],[2.0],[3.0],[4.0],[5.0],[7.0],[5.6]])y_data = torch.Tensor([[0],[0],[0],[1],[1],[1],[1]])#定义模型class Logist(nn.Module): def __i
2020-08-01 15:57:39
127
原创 搭建yolov3(一),定义Darknet53
import torchimport torch.nn as nn#定义卷积层class Conv(nn.Module): def __init__(self,c_in, c_out, k, s, p, bias=True): """ 自定义一个卷积块,一次性完成卷积+归一化+激活,这在类似于像DarkNet53这样的深层网络编码上可以节省很多代码 :param c_in: in_channels :param c
2020-07-30 18:38:48
271
原创 winform设置双缓冲,解决刷新闪烁问题
//设置双缓冲,解决图片刷新闪烁问题 protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.ExStyle |= 0x02000000;//用双缓冲绘制窗口的所有子控件 return cp; .
2020-07-23 11:43:33
525
原创 KNN理解与实现
KNN为有监督的分类算法用来进行预测分类流程:1) 计算已知类别数据集中的每个点与当前测试点之间的距离2) 按距离递增次序排序3) 选取与当前点距离最小的k个点4) 统计前k个点所在的类别出现的频率5) 返回前k个点出现频率最高的类别作为当前点的预测分类优点:1、简单有效2、重新训练代价低3、算法复杂度低4、适合类域交叉样本5、适用大样本自动分类缺点:1、惰性学习2、类别分类不标准化3、输出可解释性不强4、不均衡性5、计算量较大...
2020-07-01 17:51:03
163
原创 语义分割源码记录
https://github.com/xiaoyufenfei/Efficient-Segmentation-Networks 实时
2020-07-01 11:18:33
168
原创 Tensort 加速Yolov4推理
unbuntu 16.04 tensort 5.0 cuda9.0下载 nv-tensorrt-repo-ubuntu1604-cuda9.0-trt5.0.2.6-ga-20181009_1-1_amd64.deb添加链接描述工程地址:git clone https://github.com/CaoWGG/TensorRT-YOLOv4.git安装TENSORTsudo dpkg -i nv-tensorrt-repo-ubuntu1604-cuda9.0-trt5.0.2.6-ga-20181
2020-07-01 09:50:43
1100
原创 二值化图像处理 形态学操作 OPENCV C+ 6
#include <opencv2/opencv.hpp>#include <iostream>#include <math.h>using namespace cv;int main(int argc, char** argv) { Mat src, dst; src = imread("D:/vcprojects/images/bin2.png"); if (!src.data) { printf("could not load image...\
2020-06-25 11:01:56
384
原创 腐蚀膨胀 OPENCV C+ 5
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv;Mat src, dst;char OUTPUT_WIN[] = "output image";int element_size = 3;int max_size = 100;void CallBack_Demo(int, void*);int main(int argc, char** argv) { src = imrea
2020-06-25 10:31:25
190
原创 C++ opencvdnn 封装 yolo检测
1.环境:opencv3.4.6,vs2015,win102.配置opencv环境,网上都有教程3.下载相应的权重文件4.代码#include <fstream>#include <sstream>#include <opencv2/dnn.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/highgui.hpp>using namespace cv;using name
2020-06-24 11:03:03
505
原创 滤波算子比较 C+ opencv 4
```cpp#include <opencv2\opencv.hpp>#include <iostream>using namespace cv;using namespace std;int main(int arg, char** grav) { Mat src, dst,d1,d2; src = imread("C:/Users/AA/Desktop/myc++/1.jpg"); if (src.empty()) { printf("sssssssss.
2020-06-23 19:16:07
156
原创 Opencv 3.4.6 封装程序移植
下载opencv 新建vs项目配置opencv环境编写opencv测试代码`#include <opencv2/opencv.hpp>#include using namespace std;using namespace cv;int main(int argv, char** argc) {Mat src = imread("51.jpg");if (src.empty()) { printf("图像未读取"); return -1;}namedWindow("i.
2020-06-23 10:45:55
197
原创 opencv3.1.0 vs2015 编译
1.下载opencv2.下载opencv_contrib-3.1.03.新建newbuild(用来存放生成)4.安装CMAKE5打开Cmake点击Configure,弹出的对话框中选择Visual Studio 15 2017 Win64,点击Finish后结果如下图所示:6.找到OPENCV_EXTRA_MODULES_PATH选项,添加opencv_contrib-3.4.2/modules7.再次点击Configure按钮,还会有一些红框出现,再次点击Configure按钮;8.点
2020-06-22 14:55:49
172
原创 绘制几何形状 OPENCV C+ 3
#include <opencv2\opencv.hpp>#include <iostream>using namespace std;using namespace cv;Mat src, dst;void MyLines();void MyRectangle();void MyCircle();void RandomLineDemo();int main(int argc, char** argv) { src = imread("C:/Users/AA
2020-06-21 17:52:34
104
原创 对比度 亮度调整 OPENCV C+ 2
#include <opencv2\opencv.hpp>#include <iostream>using namespace cv;using namespace std;int main(int argc, char** crgv) { Mat src, dst; src = imread("C:/Users/AA/Desktop/myc++/1.jpg"); imshow("input", src); int height = src.rows; int
2020-06-21 16:15:12
210
原创 图像风格转换 OPENCV C+ 1
#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;int main(int argv, char** argc) { Mat src = imread("C:/Users/AA/Desktop/myc++/1.jpg"); if (src.empty()) { printf("图像未读取"); return -1; } namedW
2020-06-21 12:22:37
252
原创 K-means算法原理及实现
import numpy as np""" 任务要求:对平面上的 100 个点进行聚类,要求聚类为两类,其横坐标都为 0 到 99。"""x = np.linspace(0, 99, 100)y = np.linspace(0, 99, 100)k = 2n = len(x)dis = np.zeros([n, k+1])# 1.选择初始聚类中心center1 = np.array([x[0], y[0]])center2 = np.array([x[1], y[1]]).
2020-06-03 17:36:28
316
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人