<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[tangbenjun的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/tangbenjun</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tangbenjun]]></copyright><item><title><![CDATA[MMDetection3D框架环境配置]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/132758814</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/132758814</guid><author>tangbenjun</author><pubDate>Sat, 09 Sep 2023 08:00:00 +0800</pubDate><description><![CDATA[MMDetection3D是一个基于PyTorch的开源3D目标检测框架。下面是MMDetection3D的环境配置步骤：安装Anaconda，教程很多不在说明。]]></description><category></category></item><item><title><![CDATA[ubuntu20.04实现tesseract-ocr识别并移植到rv1126板卡上]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/131787899</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/131787899</guid><author>tangbenjun</author><pubDate>Thu, 24 Aug 2023 12:00:00 +0800</pubDate><description><![CDATA[嵌入式硬件rv1126，需要识别不同产品的字符，短期内完成采用基于tesseract-ocr算法实现。]]></description><category></category></item><item><title><![CDATA[Windows函数实现获取文件夹下所有的文件]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/131005430</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/131005430</guid><author>tangbenjun</author><pubDate>Sat, 03 Jun 2023 00:00:00 +0800</pubDate><description><![CDATA[获取文件夹中的所有文件或者指定后缀的文件]]></description><category></category></item><item><title><![CDATA[VS2017编译opencv4.5.0+CUDA11.6+DNN]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/126102091</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/126102091</guid><author>tangbenjun</author><pubDate>Thu, 22 Sep 2022 08:53:41 +0800</pubDate><description><![CDATA[cuda版本的opencv编译]]></description><category></category></item><item><title><![CDATA[WINDOWS下编译OPENCV4.5.4静态库]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/122615924</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/122615924</guid><author>tangbenjun</author><pubDate>Sun, 23 Jan 2022 20:00:00 +0800</pubDate><description><![CDATA[编译环境：Windows10+VisualStudio2017+opencv4.5.4+opencv_contrib

一、下载opencv4.5.4，地址：https://github.com/opencv/opencv/tree/4.5.4

    下载对应的opencv_contrib，地址：https://github.com/opencv/opencv_contrib/tree/4.5.4

    下载并安装cmake，地址：https://cmake.org/downl...]]></description><category></category></item><item><title><![CDATA[OpenCV中的RANSAC详解]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/80372317</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/80372317</guid><author>tangbenjun</author><pubDate>Sat, 19 May 2018 10:45:01 +0800</pubDate><description><![CDATA[
        
                    
            


本文将openCV中的RANSAC代码全部挑选出来，进行分析和讲解，以便大家更好的理解RANSAC算法。代码我都试过，可以直接运行。

在计算机视觉和图像处理等很多领域，都需要用到RANSAC算法。openCV中也有封装好的RANSAC算法，以便于人们使用。关于RANSAC算法的一些应用，可以看我的另一篇博...]]></description><category></category></item><item><title><![CDATA[优快云-markdown编辑器]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/80372285</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/80372285</guid><author>tangbenjun</author><pubDate>Sat, 19 May 2018 10:42:38 +0800</pubDate><description><![CDATA[Markdown编辑器

本Markdown编辑器使用StackEdit修改而来，用它写博客，将会带来全新的体验哦：


Markdown和扩展Markdown简洁的语法
代码块高亮
图片链接和图片上传
LaTex数学公式
UML序列图和流程图
离线写博客
导入导出Markdown文件
丰富的快捷键




快捷键


加粗    Ctrl + B 
斜体    Ctrl + I 
引用    C...]]></description><category></category></item><item><title><![CDATA[三维图像切面提取]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/78687170</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/78687170</guid><author>tangbenjun</author><pubDate>Fri, 01 Dec 2017 15:31:19 +0800</pubDate><description><![CDATA[切片（Slice）或切面是三维图像比较常用的概念，尤其在医学图像中。通过提取切面可以方便地浏览和分析图像内部组织结构。VTK中vtkImageReSlice类可以实现图像切面的提取。在实际开发中，四视图中冠状视面、矢状面和横断面（显示过图像内部一点且平行于XY、YZ、XZ平面的平面），需要用到此类。


程序说明：


先通过vtkMetaImageReader读取一副三维图像，获取图]]></description><category></category></item><item><title><![CDATA[Windows打开dcm文件、dcm文件批量转其它图片文件格式]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/78625659</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/78625659</guid><author>tangbenjun</author><pubDate>Fri, 24 Nov 2017 16:08:06 +0800</pubDate><description><![CDATA[因为要处理一些医学图像，需要把dcm格式的文件转换成jpg格式。本来用Sante DICOM Editor用得挺好的，方便查看dcm文件，但是在转换上每次只能转一张（本人没有找到用该软件批量转格式的方法）。于是在网上搜集了各种软件（图片格式转换大师、DCM图片转换大师等等），要么是要付费的，要么就是有病毒。在线转换器最多只能转30张，多的就要付费。
最终发现一个免费的软件：MicroDicom。
1]]></description><category></category></item><item><title><![CDATA[C++实现向量的旋转]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/78414464</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/78414464</guid><author>tangbenjun</author><pubDate>Wed, 01 Nov 2017 15:29:53 +0800</pubDate><description><![CDATA[博记：通过输入旋转角度得到。
已知向量vector1[][]={{1},{1},{1}};，经过旋转之后得到的向量matrix_result[][]表示；
程序实现如下：
#include "iostream"   
#include  
#include  
#include  
#include  
#include   
#include  
#include 
#include
us]]></description><category></category></item><item><title><![CDATA[C++实现三个矩阵乘法]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/78404050</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/78404050</guid><author>tangbenjun</author><pubDate>Tue, 31 Oct 2017 15:33:35 +0800</pubDate><description><![CDATA[#include  
using namespace std;  
#define SIZE_M 2  
#define SIZE_N 3  
#define SIZE_S 4  
 #define SIZE_T 1   
int main(){  
  
    int matrix_a[SIZE_M] [SIZE_N]={{1,2,3},{4,5,6}};//a矩阵2X3  
    int ]]></description><category></category></item><item><title><![CDATA[纹理映射]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/78315491</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/78315491</guid><author>tangbenjun</author><pubDate>Mon, 23 Oct 2017 09:30:03 +0800</pubDate><description><![CDATA[实时渲染领域内，纹理拾取、映射及过滤涉及大量理论知识，本文是对这些知识的总结和梳理，方便日后查阅。本文本应该在2011年末的时候出现，由于从那时起我就被无尽的加班缠绕，直到最近才得以解脱，所以到现在才有时间完成这个总结。
纹理拾取、映射及过滤在实际应用主要集中在pixel shader阶段。Shader Model 3.0引入vertex texture fetch(VTF，可实现Height Ma]]></description><category></category></item><item><title><![CDATA[opencv读图像C语言实现canny边缘检测]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/78257701</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/78257701</guid><author>tangbenjun</author><pubDate>Tue, 17 Oct 2017 10:33:33 +0800</pubDate><description><![CDATA[Canny算子是John Canny在1986年提出的，该文章发表在PAMI顶级期刊上的(1986. A computational approach to edge detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 8, 1986, pp. 679-698)。]]></description><category></category></item><item><title><![CDATA[CUDA GPU编程中使用结构体传递函数参数]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/78211132</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/78211132</guid><author>tangbenjun</author><pubDate>Thu, 12 Oct 2017 09:48:44 +0800</pubDate><description><![CDATA[CUDA GPU编程中使用结构体传递函数参数
 
         CUDA GPU编程中，虽然统一寻址(Unified Memory)技术能够大大简化编程难度和代码复杂度，但是速度略有牺牲，同时对运行环境提出更多的要求。而在不使用这项技术时，编程时需要同时创建CPU（host）和GPU（device）端的变量指针，然后为其分别分配内存。操作完成后，再分别释放内存。CUDA工程的范例程序中，单独编写]]></description><category></category></item><item><title><![CDATA[【OpenCV】访问Mat中每个像素的值]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/78210565</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/78210565</guid><author>tangbenjun</author><pubDate>Thu, 12 Oct 2017 09:02:30 +0800</pubDate><description><![CDATA[在《OpenCV 2 Computer Vision Application Programming Cookbook》看到的例子，非常不错，算是对之前的文章<访问Mat图像中每个像素的值>的回顾和补充。Color Reduce还是使用经典的Reduce Color的例子，即对图像中的像素表达进行量化。如常见的RGB24图像有256×256×256中颜色，通过Reduce Color将每个通道的像素]]></description><category></category></item><item><title><![CDATA[(void**) &p的技巧]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/78202004</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/78202004</guid><author>tangbenjun</author><pubDate>Wed, 11 Oct 2017 11:43:07 +0800</pubDate><description><![CDATA[很多时候会用到(void**) &p ，尤其是在调用某些函数，作为入口参数的时候。(void**) &p  它是空类型  void*是无类型指针。void**就是无类型指针的指针。&取变量地址的运算符。(类型)为强制转换类型。(void**)&变量，就是把变量的地址强制转换为无类型指针的指针。
这样做的好处 可以对于任何类型调用，无需考虑原类型如果直接用一个类型（比如 char、int）*p 这样]]></description><category></category></item><item><title><![CDATA[CUDA编程主函数模板及实例]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/78139008</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/78139008</guid><author>tangbenjun</author><pubDate>Sat, 30 Sep 2017 09:03:30 +0800</pubDate><description><![CDATA[//CUDA编程主函数模板

int main(){
//Allocate memory on GPU(分配GPU内存）
float *Md;
cudaMalloc((void**)&Md, size);
//Copy data from CPU to GPU（从CPU内存中拷贝数据到GPU中）
cud M (Md M i d M H tT D i ) aMemcpy(Md, M, size,]]></description><category></category></item><item><title><![CDATA[OpenCV 中cv::Mat 和 IplImage 的转换与应用]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/78135052</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/78135052</guid><author>tangbenjun</author><pubDate>Fri, 29 Sep 2017 16:22:42 +0800</pubDate><description><![CDATA[在学习opencv图像处理过程中总是遇到数据类型转换的错误提示；因为IplImage是OpenCV中C语言的图像类型;cv::Mat是OpenCV中C++语言的图像类型;所以再利用cv::Mat对图像进行处理的过程中应该注意其图像的数据类型。
1. cv::Mat -> IplImage
cv::Mat matimg = cv::imread ("imagename.jpg");
IplIm]]></description><category></category></item><item><title><![CDATA[GPU编程之CUDA初学名词解释]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/78109096</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/78109096</guid><author>tangbenjun</author><pubDate>Wed, 27 Sep 2017 09:11:28 +0800</pubDate><description><![CDATA[1.主机与主机代码
将CPU及系统的内存（内存条）称为主机。]]></description><category></category></item><item><title><![CDATA[c++二维数组]]></title><link>https://blog.youkuaiyun.com/tangbenjun/article/details/78051645</link><guid>https://blog.youkuaiyun.com/tangbenjun/article/details/78051645</guid><author>tangbenjun</author><pubDate>Thu, 21 Sep 2017 14:30:51 +0800</pubDate><description><![CDATA[定义一个数组a为int a[2][3]，并初始化。
则sizeof(a)：表示数组a所有元素占用的字节数。
sizeof(a[0])：表示一行所有元素占用的字节数。
sizeof(a[0][0])=sizeof（数据类型的名）。从而可以得到数组的行和列的表示方法：
数组元素的总数： sizeof(a) / sizeof(int)
而数组行数则为 ：( sizeof(a) / sizeof]]></description><category></category></item></channel></rss>