![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图像处理
nudt_qxx
这个作者很懒,什么都没留下…
展开
-
常见深度学习框架和推理框架的通道顺序
N: batchC: channelH: heightW: widthCaffe 的Blob通道顺序是:NCHW;TensorFlow的tensor通道顺序:默认是NHWC, 也支持NCHW,使用cuDNN会更快;Keras和TensorFlow一样,默认使用NHWC,但可以用data_format='channels_last' #NHWCdata_format='channels_first' #NCHW进行切换Pytorch中tensor的通道顺序:NCHWPaddle中原创 2021-09-14 11:26:06 · 363 阅读 · 0 评论 -
C++ OpenCV进行透视变换后再把坐标映射回原图
//test.cpp//g++ test.cpp -std=c++11 `pkg-config --cflags --libs opencv` -ldl -Wl,-rpath,. -o test#include <opencv2/opencv.hpp>#include "opencv2/core/core.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/calib3d/calib3d.hpp"#include原创 2020-12-14 10:19:50 · 1125 阅读 · 0 评论 -
C++ OpenCV图像2d坐标和齐次坐标的互转
//g++ test.cpp -std=c++11 `pkg-config --cflags --libs opencv` -ldl -Wl,-rpath,. -o test#include "opencv2/core/core.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/calib3d/calib3d.hpp"#include <iostream>using namespace std;using n原创 2020-12-11 17:26:02 · 1158 阅读 · 0 评论 -
C++ OpenCV中 Scalar和Vec3b的互转函数
//请自己加入头文件inline cv::Scalar Vec3b2Scalar(const cv::Vec3b& v){ return cv::Scalar(v[0], v[1], v[2]);}//! converts Scalar to Vec3binline cv::Vec3b Scalar2Vec3b(const cv::Scalar& v){ return cv::Vec3b((uchar)v[0], (uchar)v[1], (uchar)v[2]);}..原创 2020-10-20 18:15:10 · 1323 阅读 · 0 评论 -
Detectron2自定义数据集进行训练
Detectron2对coco数据格式优先支持。所以在开始之前建议把自己数据修改为标准的coco格式,各种类型数据转coco格式脚本见:转换工具箱。注:这个大佬的数据转换工具,在box标注那里貌似会偏移一个像素,不知道修复没有。但是如果对检测box的定位精度不是要求很苛刻的话,这个并不会有太大影响。Detectron2训练自己数据1.第一步当然是安装Detectron2:系统软件要求:...原创 2019-12-22 11:54:46 · 7936 阅读 · 11 评论 -
Python查看两张图差异
#coding=utf-8from PIL import Imageimport mathimport operatorfrom functools import reducedef compare(pic1,pic2): ''' :param pic1: 图片1路径 :param pic2: 图片2路径 :return: 返回对比的结果 ''...转载 2019-12-20 15:09:28 · 948 阅读 · 0 评论 -
gluon/mxnet实现mnist手写数字识别
import gluonbook as gbfrom mxnet import autograd,nd,init,gluonfrom mxnet.gluon import loss as gloss,data as gdata,nn,utils as gutilsimport mxnet as mxnet = nn.Sequential()with net.name_scope():...原创 2018-06-17 16:53:26 · 1140 阅读 · 0 评论 -
Pytorch实现手写数字mnist识别
import torchimport torchvision as tvimport torchvision.transforms as transformsimport torch.nn as nnimport torch.optim as optimimport argparse# 定义是否使用GPUdevice = torch.device("cuda" if torch.cu...原创 2018-06-17 17:08:56 · 2405 阅读 · 1 评论 -
mmdetection 多尺度测试开启
当然在issue:https://github.com/open-mmlab/mmdetection/issues/135 里面陈凯博士说的很清楚,这里以faster-rcnn为例,看下如何开启多尺度测试提分:文件准备git clone https://github.com/open-mmlab/mmdetectioncd ..mkdir models && cd mode...原创 2019-06-01 15:43:37 · 7113 阅读 · 13 评论 -
tensorflow实现mnist手写数字识别
import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datadata_path = 'F:\CNN\data\mnist'mnist_data = input_data.read_data_sets(data_path,one_hot=True) #offline datasetx...原创 2018-06-16 08:52:56 · 536 阅读 · 0 评论 -
opencv 把图片序列转化为视频流
#include <string.h>#include <opencv2/opencv.hpp>#include <opencv2/highgui/highgui.hpp> // Video write#include <sstream>using namespace std;class pubimage{public: ...原创 2018-05-28 10:35:09 · 6328 阅读 · 0 评论 -
opencv处理视频流和视频流存为图片序列
//main.cpp #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;string&gt; #include &lt;opencv2/core/core.hpp&gt; #include &lt;opencv2/highgui/highg原创 2018-05-27 08:32:18 · 3425 阅读 · 0 评论 -
OpenCV生成一个矩形并填充颜色
编译命令: g++ main.cpp -std=c++11 -I/usr/local/include/opencv -I/usr/local/include -L/usr/local/lib -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d...原创 2018-04-25 12:57:43 · 11535 阅读 · 0 评论 -
Ubuntu14.04下载cuda-8.0安装包
wget http://172.20.216.118/files/11540000001C0F53/developer.download.nvidia.com/compute/cuda/8.0/secure/Prod2/local_installers/cuda.deb原创 2018-04-22 19:24:17 · 639 阅读 · 1 评论 -
自动驾驶算法岗位实习简单面试
Using c++ to write a queue. Need support function push(), pop()答案:#include &amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;lt;string&amp;amp;amp;amp;gt;using namespace std;templa原创 2018-07-25 18:21:37 · 9206 阅读 · 0 评论 -
numpy实现目标检测中的IOU和NMS
本文系转载,出处:http://www.manongjc.com/article/37951.html交并比(Intersection-over-Union,IoU),目标检测中使用的一个概念,是产生的候选框(candidate bound)与原标记框(ground truth bound)的交叠率,即它们的交集与并集的比值。最理想情况是完全重叠,即比值为1。计算公式:代码实现1:de...转载 2019-02-21 21:38:28 · 4675 阅读 · 2 评论 -
mmdetection自定义数据集进行训练
mmdetection对coco数据优先支持。所以在开始之前建议把自己数据修改为标准的coco格式,各种类型数据转coco格式脚本见:转换工具箱。第一步当然是定义数据种类,需要修改的地方在mmdet\datasets。在这个目录下新建一个文件,例如:my_data.py,然后把coco.py的内容复制过来,修改class类名为MyDataset最后把CLASSES的那个tuple改为自己数...原创 2019-05-04 11:57:29 · 9243 阅读 · 26 评论 -
Ubuntu16/18.04下编译安装OpenVSLAM
简介5月20日,日本先进工业科技研究所(National Institute of Advanced Industrial Science and Technology )开源了一套视觉SLAM算法:OpenVSLAM。开源地址:https://github.com/xdspacelab/openvslam开源才一周star数目已逾800。OpenVSLAM是一套单目、立体、RGB-D视...原创 2019-05-27 11:26:25 · 7595 阅读 · 13 评论 -
Pytorch加速Dataloader提升数据读取速度
出处:https://zhuanlan.zhihu.com/p/66145913在利用DL解决图像问题时,影响训练效率最大的有时候是GPU,有时候也可能是CPU和你的磁盘。很多设计不当的任务,在训练神经网络的时候,大部分时间都是在从磁盘中读取数据,而不是做 Backpropagation 。这种症状的体现是使用 Nividia-smi 查看 GPU 使用率时,Memory-Usage 占用率很...转载 2019-06-08 16:53:21 · 24310 阅读 · 4 评论 -
C++根据三个点坐标计算夹角
计算角度ACB,其中C是中心点,A B C三个点的坐标为A(x1,y1),B(x2,y2),C(x3,y3)。#include <iostream>#include <cmath>using namespace std;/*get angle ACB, point C is the center pointA(x1,y1)B(x2,y2)C(x3,y3)...原创 2019-08-14 10:19:35 · 13983 阅读 · 9 评论 -
OpenCV把当前文件夹下的png批量转为jpg
Python代码,只需要glob和opencv两个依赖,直接上代码:#!/usr/bin/env pythonfrom glob import glob import cv2 pngs = glob('./*.png') for j in pngs: img =...原创 2019-08-24 10:28:41 · 1383 阅读 · 2 评论 -
C++遍历统计某个文件夹及其子文件夹下所有图像和像素的个数
#include <unistd.h>#include <iostream>#include <cstdio>#include <vector>#include <string>#include <fstream>#include <dirent.h>#include <iomanip>...原创 2019-09-09 17:44:14 · 1270 阅读 · 0 评论 -
Clion下第一个opencv3程序
按照配置链接 配置好Clion和opencv3的编译环境后,再干一件事情:把opencv3下面的opencv\build\include目录下面的opencv和opencv2目录复制到GCC下的include目录。 至此,配置工作完成! 首先在Clion新建一个C++控制台程序,标准选择C++11,Cmakelists.txt内容如下:cmake_minimum_required(VERSION原创 2017-05-09 08:55:20 · 9336 阅读 · 9 评论 -
利用ZeroMQ传输图片
待传输的数据cv::Mat mat订阅端(sub)import cv2import zmqsub_port = 6666context = zmq.Context()#connect to socket we subscribsocket_sub = context.socket(zmq.SUB)socket_sub.connect("tcp://localhost:...原创 2018-03-13 17:11:30 · 3277 阅读 · 0 评论 -
ORB_SLAM2系列之四:利用华硕Xtion Pro Live跑ORB_SLAM2
网上关于深度相机跑ORB_SLAM2的教程大多数是以Kinect作为传感器的。高博的博客中有一篇是用的Kinect2,在ROS运行的orb_slam2。今天我们来试一试不用ROS,通过OpenNI2直接调用xtion获取rgb数据和depth数据来重建环境。我的建议,要么xtion要么kinect2, 因为kinect很鸡肋,xtion比它轻巧,kinect2比它分辨率高。这里找到一份在ORB_SL原创 2017-12-15 21:39:20 · 1541 阅读 · 0 评论 -
opencv3中的imwrite函数
#include <opencv2/opencv.hpp>#include <vector>using namespace std;using namespace cv;//包含cv命名空间void createAlpha(Mat&);int main(){ Mat mat(480,360,CV_8UC4);//创建带Alpha通道的Mat createAlpha(mat);原创 2017-05-09 15:57:32 · 11122 阅读 · 3 评论 -
解决matplotlib库show()方法不显示图片
最近使用python里的matplotlib库绘图,想在代码结束时显示下图片看看,结果图片一闪而过,附上我原来代码:import matplotlib.pyplot as pltimport numpy as npimport pandas as pd......#type(forecast)=<class 'pandas.core.frame.DataFrame'>pic01=m.plot原创 2017-05-17 19:45:34 · 34820 阅读 · 4 评论 -
opencv3的边缘检测
#include <opencv2/opencv.hpp>using namespace std;using namespace cv;//包含cv命名空间int main(){ Mat src_img = imread("C:\\test.png");//imread()函数载入图像 //从文件中读入图像,注意图像路径最好不要用相对路径,因为CLion生成的exe不在当前目录下原创 2017-05-09 10:11:47 · 1062 阅读 · 0 评论 -
opencv3的图像模糊处理
#include <opencv2/opencv.hpp>using namespace std;using namespace cv;//包含cv命名空间int main(){ Mat src_img = imread("C:\\test.png");//imread()函数载入图像 //从文件中读入图像,注意图像路径最好不要用相对路径,因为CLion生成的exe不在当前目录下原创 2017-05-09 10:11:02 · 1821 阅读 · 0 评论 -
opencv3的图像腐蚀操作
#include <opencv2/opencv.hpp>using namespace std;using namespace cv;//包含cv命名空间int main(){ Mat src_img = imread("C:\\test.png");//imread()函数载入图像 //从文件中读入图像,注意图像路径最好不要用相对路径,因为CLion生成的exe不在当前目录下原创 2017-05-09 09:57:46 · 4437 阅读 · 0 评论 -
opencv3的直方图均衡化
#include <opencv2/opencv.hpp>using namespace std;using namespace cv;//包含cv命名空间int main(){ Mat src_img = imread("D:\\1.png");//imread()函数载入图像 //从文件中读入图像,注意图像路径最好不要用相对路径,因为CLion生成的exe不在当前目录下。原创 2017-05-15 20:24:52 · 1177 阅读 · 0 评论 -
win10下Anaconda管理Python开发环境
最近在配置caffe2,tensorflow,pytorch等深度学习框架时候发现一个问题,这些框架对主机操作系统和python版本都有少许限制:比如,在win10 64位主机下想玩tensorflow,只能安装python 3.5.2 ! Neither 3.5.1和3.6.X都不行。 我已经用教程链接在我的win10主机安装了python2.7.12和python3.6.0,想玩tenso原创 2017-05-04 11:16:58 · 7042 阅读 · 0 评论 -
Ubuntu 16.04安装Cuda8.0
想玩一下google的tensorflow,需要开启GPU支持。在安装Cuda8.0的时候死活装不进去,提示:you appear to be running an x server please exit x before installing 然后在http://www.cnblogs.com/LSCAX/p/6106240.html 找到了答案。1.关闭nouveau驱动 在安装NVIDIA转载 2017-04-14 13:08:45 · 3986 阅读 · 0 评论 -
ubuntu 16.04下安装caffe2
上一篇文章说了如何在Ubuntu 16.04安装Cuda8.0。 在Ubuntu 16.04完整安装Caffe2的话,安装顺序为:安装Cuda8.0------>安装cuDNN8.0---->源码编译安装Caffe2。首先根据上一篇本人文章Ubuntu 16.04安装Cuda8.0 安装Cuda8.0。 然后下载安装cuDNN8.0。 CuDNN是专门针对Deep Learning框架设计的原创 2017-04-14 13:25:46 · 8340 阅读 · 1 评论 -
opencv3自定义窗口内显示多张图片
#include <opencv2/opencv.hpp>using namespace std;using namespace cv;//包含cv命名空间int main(){ /* * * 多张图像载入后在自定义窗口内显示 */ Mat one = imread("D:\\1.png");//创建一个自定义窗口 namedWindow("原创 2017-05-09 18:14:36 · 3050 阅读 · 0 评论 -
win10 python3.5.2下安装facenet
Google研究人员在2015年发布了一篇关于人脸识别的论文:FaceNet: A Unified Embedding for Face Recognition and Clustering,然后OpenFace是首个应用谷歌FaceNet深度神经网络进行面部识别的开源项目,地址openface。 后来又有大神使用tensorflow重写了openface,该项目是facenet,地址facene原创 2017-05-30 13:13:20 · 7731 阅读 · 5 评论 -
opencv3的图片翻转flip()函数
#include <opencv2/opencv.hpp>using namespace std;using namespace cv;//包含cv命名空间int main(){ Mat src_img = imread("D:\\1.png");//imread()函数载入图像 //从文件中读入图像,注意图像路径最好不要用相对路径,因为CLion生成的exe不在当前目录下。原创 2017-05-11 09:19:49 · 17942 阅读 · 0 评论 -
opencv3计算摄像头内参
ORB-SLAM2跑单目SLAM需要设定相机参数到yaml文件,这里来说下如何利用opencv进行相机参数设定。环境Win10,VS2015+opencv3.3.1对摄像机进行标定可以使用直接使用摄像头也可以事先拍好照片。利用自己摄像头批量拍摄图片见:[opencv3调用笔记本摄像头批量拍摄图片]。(http://blog.csdn.net/xiangxianghehe/article/detail转载 2017-12-14 22:12:30 · 4858 阅读 · 0 评论 -
Opencv3中FeatureDetector未定义标识符,不在cv命名空间下的解决办法
参考:Clion 下配置 Opencv3环境Win10 64位 + Clion 2017.1 + cmake-3.10.0-win64-x64 +opencv3.3.1 + tmd-gcc (tdm64-1) 5.1.0 + git version 2.13.1.windows.2 文件准备1.opencv-3.3.1-vc14.exe 2.opencv_contrib 3.mingw-w64-原创 2017-12-11 17:33:30 · 6226 阅读 · 0 评论 -
Win10下Clion配置opencv3
本人不想在爱机装一个vs2013或者vs2015这种庞然大物,可是手头要弄一个基于windows的opencv项目,就只好装了个Clion,期间踩了不少坑,记录一下。 参考网址:http://www.zerovalues.com/2017/02/20/clion-CV32-Win10-64-cfg/ 一.准备工作: 1.安装tmd-gcc:在官网链接下载最新的tmd-gcc安装包。本人是win原创 2017-04-27 23:16:49 · 7683 阅读 · 4 评论