自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 windows mingw编译环境 报重复定义的问题

mingw gcc multiple definition

2022-04-29 22:27:35 378

原创 postgresql COPY 二进制格式

头 PGCOPY\n\377\r\n\0\0\0\0\0\0\0\0\0 , 后面一般是0,不是一定为0,参见postgresql文档。尾 0xffff 两字节,16位。中间, 两字节 列数n + n个tuple, 每个tuple为 4字节后面value的大小 + value。有多少条数据,中间重复多少次。每个tuple对于数据库中的对应列的元素,都有哪些列是发起copy的时候指定的,参见文档,比如libpq部分,如果这个列对应的元素为空,那么tuple中的大小为 0xffffffff, 及4字.

2022-02-26 17:16:50 543

原创 Yolo-FastestV2在树莓派4B上的MNN移植记录

Yolo-FastestV2 https://github.com/dog-qiuqiu/Yolo-FastestV2/, 非常感谢作者的分享!模型准备首先,下载代码,根据要求训练,或者直接使用作者训练好的模型,根据作者的文档,导出onnx模型。MNN编译下载最新的MNN代码。编译MNNConvert首先编译MNNConvert,这个是x86_64版本的,还好,用cmake可以在不同的目录里build,根据官方文档编译,默认是不成功的,我的版本是1.2.1。编译方式如下:cd MNN/./s

2021-12-25 00:06:13 3797 2

原创 基于金字塔和TOPN模型的SGM优化

代码https://gitee.com/WN90/pyrsgm-sgm-pyramid-optimization原理和思路SGM算法的聚合方案是一个很伟大的方案,然而在亲自实现了之后才发现,速度很慢,占内存很大,图片大一点或深度大一点就要很久,严格来说,这是一个实现的问题,并不是算法的问题。通过金字塔缩放的方式是一个降低计算量的比较好的方式,但是大尺度会比缩放的精度更高,如果通过小尺度的结果作为暗示,降低大尺度视差的搜索范围,那么可以降低内存占用和计算量。但是这样视差范围是不确定的,也就是不能直接分

2021-12-19 15:21:00 648 1

原创 PIL库的Image.open打开webp文件报错

报错类似于,目录前面部分已经去掉了… lib/python3.9/site-packages/PIL/Image.py:3022: UserWarning: image file could not be identified because WEBP support not installed有人说升级pillow,但是对于我的情况,仍然不管用,最终在github的issue上搜到了一个解决方案。pip install webp...

2021-11-23 15:54:40 3262

原创 数据集收集

coco数据集链接: https://pan.baidu.com/s/1xp_PtGExL0zayvd3fpQ9qQ 提取码: ect3 复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员v2的分享

2021-11-23 08:05:29 225

原创 U-Net的pytorch实现

简介查看U-Net论文请点击此处。U-Net最初是用于细胞识别的,针对少量的训练数据,作者通过数据增强等方式,实现了很好的效果,获得了比赛冠军,U-Net经过修改也可以用于其他用途。U-Net论文作者提供了caffe的版本,github上也已经有人提供了pytorch的版本,但是经过了修改,本文提供的实现忠于论文的描述,没有研究过作者提供的版本,所以不保证本实现和作者的实现足够接近,仅是个人对论文的理解,如有错误,还望指正,另外,由于没有对应的训练数据,所以没有严格的验证。验证如果没有和论文作者相同

2021-11-17 08:16:51 2942

原创 opencv SGBM 练习总结

标定,得到相机内参矩阵,或直接读取以前保留的标定结果,标定过程见https://blog.csdn.net/weixin_39266208/article/details/120955007利用VideoCapture打开双目摄像头,读取并分割成左右两张图像。通过stereoRectify initUndistortRectifyMap remap 得到校正后的图像,两张图像在同一坐标平面,y对齐。StereoSGBM_create(python) + compute得到视差。然后通过repro.

2021-11-14 18:06:39 3720

原创 对点云配准NDT方法的理解

声明本文纯属个人观点,如有错误,欢迎指导,谢谢!正文3维NDT是2维NDT的推广,看了介绍,看论文, 开始的时候还是不清楚,经过思考之后,感觉清楚了。 之前不清楚在于错误的理解了概率分布,我的思考方式是把二位图像当成了一个概率密度函数图像,亮度值=f(x,y),但实际上,无论二维还是三维,都不是,使用的是点的密度。从算法描述看,是统计每一小区域的坐标值的均值和方差,然后得到一个局部正态分布,显然点出现在均值的地方的概率是最大的,越远离均值就越小,即对于点密度大的地方,得到的模型估计的概率会大,实际上

2021-11-10 10:37:48 293

原创 setMinimumPointsNumberPerVoxel的作用

结论如果 某个体素方格中的点的个数 < setMinimumPointsNumberPerVoxel ,那么整个体素内不会有任何点的输出,相当于体素中没有点,即整个体素的点都被过滤掉了,也不会新生成点。这个过程相当于一边按照体素降采样,一边去除过稀部分的点。正文pcl::VoxelGrid< PointT >包含了setMinimumPointsNumberPerVoxel这个方法,文档给的解释是Set the minimum number of points required f

2021-11-09 11:48:31 202

原创 PCL点云去背景(相减)的方法

官网的教程中有一个octree的例子,可以实现这个功能https://pcl.readthedocs.io/projects/tutorials/en/latest/octree_change.html#octree-change-detection例子中能检测出点云B在点云A上增加的点,但不能检测出减少的点,如果A为背景,B为包含背景和其他物体的点云,那么可以实现在B中去背景的作用,下面的代码对官网的代码做了简单的修改,B的前100个点和A近似相同,后面的是新加的不同的点,结果后面的点都检测出来了。当

2021-11-08 10:17:37 3962

原创 使用opencv标定双目摄像头

在https://blog.csdn.net/weixin_39266208/article/details/120917840中,制作了一个9x12的棋盘图片,打印到A4纸上,每个格子长度22mm,用尺子测量,和预期一致,本文记录一下标定双目摄像头的过程。本文使用python,代码参考 OpenCV4快速入门 书中的c++代码。OpenCV官方教程中也有对应的教程 https://docs.opencv.org/4.5.4/d6/d55/tutorial_table_of_content_calib3d

2021-10-26 09:32:40 2601 1

原创 opencv中使用orbbec astra深度相机

官方文档,百度 tutorial_orbbec_astra,按照操作一步步来,先安装奥比中光的openni2 SDK,然后再编译opencv,然后文档中的示例程序就可以运行了。orbbec 官网有一个纯用openni的,只用opencv打开rgb的视频流,https://developer.orbbec.com.cn/technical_library/OpenNI2/html/autotoc_md25.html还有一个python版的,一定要先 source OpenNIDevEnvironment再

2021-10-25 11:16:51 2570 2

原创 使用opencv和双目摄像头制作裸眼3d视频

注意生成的视频没有声音!只有图片序列。原理使用双目摄像头拍摄图像,然后输出一个mp4文件,交错输出左右摄像头的图片,帧率设置120以上,这样人眼分辨不出来差别,同时看左右摄像头的图片,就有立体感了,要求显示器刷新率要支持到120以上,否则没办法达到预期效果,我用小米6手机播放,感觉还可以。注意摄像头的移动速度,因为摄像头的拍摄速度可能比较低,再受系统性能的影响,如果达不到120fps,相当于把好几秒压缩成1s,看起来会移动的非常快,所以要很缓慢的移动摄像头。代码我这里使用的是淘宝买的usb摄像头模

2021-10-23 11:46:38 1641

原创 使用opencv和numpy制作相机标定图片

废话少说,见代码import cv2import numpy as np# 棋盘格子的横向和纵向数量w=9h=12# 每个格子的大小占用的像素数量,通过调节这个和打印时每mm的像素数# 可以精确确定输出的大小,注意要整除,不要产生小数,另外电脑内存小# 不要设置过大,否则可能会内存不足而崩溃,我这里设置1100,每mm像素数# 为50, 每个格子 1100/50=22mm,9x12个格子,使用a4纸打印,# 如果设置2200,那么每mm像素数就要设置100 # 如果内存允许,尽量设

2021-10-23 11:13:16 853

原创 NVidia GPU 无法调节风扇转速

nvidia-setting 设置风扇速率,提示 Failed to set new fan speed, nvidia-settings -a "[fan:0]/GPUTargetFanSpeed=50"这种也会失败。原因是不知道什么原因使用了某一版本驱动,安装的时候使用的是官网的cuda安装脚本,自动安装驱动,ubuntu 21.04,还失败了,即使卸载之并更换驱动版本也不能恢复,不知道哪里除了故障, dpkg --purge 也没有删除对应的影响, 不知道NVidia的开发人员在搞什么鬼!浪

2021-10-14 15:53:05 6237 1

原创 opencv Library QUIRC is not linked解决办法

建议不使用ubuntu源中提供的库,而是使用源码自己编译。问题正在看opencv官方的课程,第一个作业要求检测二维码,写完代码运行发现检测结果是Library QUIRC is not linked. No decoding is performed. Take it to the OpenCV repository. 解决办法显然这是没有检测,原因应该就是QRIRC这个库没有开启,下载了源码,经搜索发现受一个宏 WITH_QUIRC控制,如果开启了运行相关代码,不开启就会有这个打印,那么解决

2021-08-08 17:51:51 1368

原创 ubuntu搭建opencv c++开发环境

一键安装#sudo apt install libopencv-dev #完整安装,下面是精简的,具体的都有哪些包可以libopencv用tab补全查看# opencv-doc一定要安装,因为本地查看文档比在线查看文档要方便很多,安装完的位置在/usr/share/doc/opencv-doc/opencv4/html# 打开index.html就可以查看文档了sudo apt install libopencv-core-dev libopencv-contrib-dev opencv-doc

2021-08-08 07:31:09 352

原创 opencv梯度的不同计算方法比较

morphologyEx操作使用MORPH_GRADIENT参数,即dilate(img)-erode(img)Sobel分别对xy计算梯度求绝对值,再相加Sobel同时对xy算梯度

2021-07-12 11:13:43 146

原创 按照颜色提取图像中的指定部分

使用hsv色彩空间确定色调,饱和度,亮度的范围,颜色为选取的颜色上下20度波动,在opencv的8位表示中([0,360) -> [0,180)以适应[0,256)的范围)为上下10范围波动,饱和度和亮度取[100,255],避免太低色调不可靠。对于红色,色调H的值0,上下浮动的时候考虑[170,180]和[0,10]通过cv2.inRange从hsv色彩空间中选取对应的像素点,三个维度同时在范围内为255,否则0提取使用cv2.bitwise_and,在bgr色彩空间中,利用mask来提取.

2021-07-10 12:05:21 283

原创 opencv笔记

opencv的bitwise操作中的mask(function) bitwise_and: (src1, src2, dst=..., mask=...) -> Anysrc1和src2作按位与,这个没什么悬念,mask是什么呢,文档说8-bit single channel array, that specifies elements of the output array to be changed,经过测试发现mask指定了有效的像素区域,比如src1的维度是(263,263,3),那么s

2021-07-09 12:12:50 99

原创 杂乱的记录

anaconda 中用pip安装 opencv-python 3.4.1.15,原因是python版本是3.9, 换成3.6的环境就能找到了conda create -n opencv python=3.6conda activate opencv# pip 已经装好了,否则要 conda install pippip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python==3.4.1.15pip install -

2021-06-26 14:23:59 479

原创 cargo 宏展开遇到的问题

cargo 宏展开遇到的问题最近学习rust,看到宏展开命令#单独文件rustc -Z unstable-options --pretty=expanded main.rs#cargo管理cargo rustc -- -Z unstable-options --pretty=expanded于是在我的hello项目中测试了一下,这个演示项目使用cargo创建,里面既有lib又有bin。 % cargo rustc -- -Z unstable-options --pretty=expande

2021-06-13 09:51:13 569

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除