- 博客(21)
- 收藏
- 关注
原创 opencv-meshgrid
使用opencv::repeat函数和std::iota函数完成meshgrid功能。XYZ通俗的说就是根据Z的大小生成X矩阵,Y矩阵
2022-06-30 17:02:04 1372 1
原创 opencv-Mat
在实际应用中常常需要对Mat矩阵进行按行增加或删除以及按列增加或删除,本例程提供一种方案还有其他方案欢迎大家评论区讨论matrix_23下侧增加一行[100010]−>[100010131415]\begin{bmatrix}1&0&0\\0&1&0\end{bmatrix}->\begin{bmatrix}1&0&0\\0&1&0\\13&14&15\end{bmatrix}[100100]−>⎣⎡101301140015⎦⎤[100010131415]−>[1
2022-06-17 18:17:56 866
原创 pytorch-nllloss-cross_entropy
pytorch-nllloss-cross_entropy一句话描述交叉熵损失函数等于对softmax结果取自然对数后进行负对数似然计算cross_entropy=log_softmax+nll_loss官方文档小例程# input is of size N x C = 3 x 5print(torch.__version__)input = torch.randn(3, 5, requires_grad=True)print(input)# each element in target
2022-04-11 10:14:42 1033 2
原创 pytorch-softmax
pytorch-softmaxtorch.nn.functional.softmax()一句话描述将Tensor数值转为概率分布(取值0-1,所有取值之和为1)[1,1]->[0.5,0.5]官方文档其中,重点介绍参数dim-沿着某一维度进行计算。比较抽象可以看下面小例程。小例程import torchimport torch.nn.functional as Finput=torch.rand(5,3,2)out0=F.softmax(input,0)out1=F.soft
2022-04-07 16:31:58 1842
原创 单元测试实践-gtest-class
单元测试实践-gtest-class一句话描述针对类进行单元测试小例程//继承测试类表示下面每个测试样例执行前都会执行一次ATest构造函数//通常可以为每一种构造函数都实例化一次本例中为a0_和a1_class A;class ATest : public ::testing::Test {protected: ATest() : a0_(new A()), a1_(new A(1)) {} virtual ~BlobSimpleTest()
2022-04-01 13:54:09 380
原创 cmake-install
cmake-install一句话描述将指定文件/文件夹复制到指定位置来完成安装常用参数DIRECTORY-指定待安装的文件夹FILES-指定待安装的文件TARGETS-指定待安装的exe/libDESTINATION-指定目标文件夹小例程cmake_minimum_required(VERSION 3.18)project(test_cmake)add_executable(test_instal src/test_install.cpp)set(CMAKE_INSTALL_
2022-03-29 15:06:24 205
原创 cmake引入第三方库
cmake引入第三方库第三方库包含.lib文件和.h/.hpp文件动态库还包含.dll文件小例程 3rdparty ├─bin │ test.dll ├─include │ test.hpp └─lib ├─Debug │ test.lib └─Release test.lib#以下为配置该第三方库add_librar
2022-03-24 11:13:23 6650
原创 海康相机白平衡
海康相机白平衡-手动和SDK实现首先确定相机图像格式,因为不同的格式有不同的白平衡方法,黑白相机无白平衡功能。本文主要是针对YUV、RGB和BGR格式进行白平衡设置。白平衡相关参数自动白平衡参数:三种模式“关闭”、“一次”、“连续”关闭:关闭模式下可以通过平衡比选择器和平衡比设置红、绿、蓝各分量值。一次:一次模式下相机根据当前图像进行一次白平衡调整,会存在调整不到位的情况。连续:连续模式下相机根据图像进行实时白平衡调整。平衡比选择器:三分量“红”、“绿”、“蓝”平衡比:三分量对应的数值大
2022-02-10 16:04:47 6096
原创 opencv-fastAtan2
opencv-fastAtan2官方文档计算2D向量角度。小例程float angle;angle = cv::fastAtan2(1, 1);//(1,1)>45angle = cv::fastAtan2(1, -1);//(-1,1)>135angle = cv::fastAtan2(-1, -1);//(-1,-1)>225angle = cv::fastAtan2(-1, 1);//(1,-1)>315 对应图和例程不难发现,其计算结果为与x轴逆时针方
2022-01-17 16:15:29 3021
原创 opencv-fillPoly
opencv-fillPoly官方文档填充几何图形面积。小例程cv::Mat img = cv::Mat::zeros(100, 100, CV_8UC1);std::vector<cv::Point> pts;pts.push_back(cv::Point(50, 50));pts.push_back(cv::Point(80, 50));pts.push_back(cv::Point(80, 80));pts.push_back(cv::Point(50, 80));c
2022-01-17 15:34:51 4803
原创 boost-log配置记录格式
boost::log配置记录格式官网例程void init(){ logging::add_file_log ( keywords::file_name = "sample_%N.log", keywords::rotation_size = 10 * 1024 * 1024, keywords::time_based_rotation = sinks::file::rotation_at_time_point(0, 0, 0),
2021-12-30 10:26:21 683
原创 opencv-cvGEMM
opencv-cvGEMM官方文档文档说的很清楚,进行矩阵操作的一个函数,cpp接口为gemm。其中tABC参数为控制矩阵A、B、C是否转置的标记,读过源码后发现其通过一位数据来控制是否转置,二进制111表示三个矩阵均为转置矩阵。小例子double vec_d[3] = { 3.,4.,5. };CvMat A = cvMat(3, 1, CV_64FC1, vec_d);CvMat B = cvMat(3, 1, CV_64FC1, vec_d);CvMat C = cvMat(1, 1,
2021-12-28 10:15:45 1690
原创 opencv-cvCheckArr
opencv-cvCheckArr官网文档此函数主要检查数组是否包含无效值。CV_CHECK_QUIET宏标记意味着不在运行中弹出异常错误,如果抓到无效值则返回0。c++实现相同功能函数为checkRange()。实际源码中cvCheckArr()调用checkRange()。小例程double vec_d[3] = { 0.,0.,NAN };CvMat vec = cvMat(3, 1, CV_64FC1, vec_d);int result = cvCheckArr(&vec,
2021-12-22 11:19:17 2475
原创 opencv-cvRodrigues2
opencv-cvRodrigues2官方文档讲的比较少原因是大家一般都调用c++接口Rodrigues,一屏截图放不下大家自行参考去吧。C++版本的有例子,感觉混在一起了,下面我开发一个小例程帮助大家理解。jacobian此参数主要是复合函数求导时应用。小例程double vec_d[3] = { 0.,0.,M_PI / 2 };//[0,0,1]表示Z轴,[0,0,1]x(M_PI / 2)表示绕Z轴90度。CvMat vec = cvMat(3, 1, CV_64FC1, vec_d);
2021-12-21 15:14:47 3215
原创 opencv-vconcat和hconcat
opencv-vconcat和hconcat官方文档官方文档给出小例程,推荐看官方文档。下面我介绍另外一种方法实现相同功能,通过cv::Mat来实现拼图。小例程cv::Mat img = cv::imread("D:/lena.png", 0);cv::Mat result(1024, 1024, CV_8UC1);cv::Mat dpart0(result, cv::Rect(512, 512, 512, 512));cv::Mat dpart1(result, cv::Range(0, 5
2021-12-21 09:42:45 1948
原创 vs17配置DLL工程注意事项
vs17配置DLL工程新建cpp空工程修改工程属性-修改通用-目标扩展为.dll;修改通用-配置类型为动态链接库在要导出函数声明前使用关键词说明__declspec(dllexport)。坑:如果函数声明在.h文件中,实现在.cpp文件中那么需要在.cpp中include对应.h文件否则不会生成lib文件。...
2021-12-20 14:17:17 92
原创 opencv-undistort
opencv-undistort官方文档根据介绍不难理解此函数主要对图像进行畸变校正,newCameraMatrix作为输入参数主要用来控制输出图像的缩放的,由于畸常常会使一部分像素超出/缩进原尺寸,有时为了看到畸变全貌需要
2021-12-20 09:21:57 5948
原创 opencv-cvConvertScale
opencv-cvConvertScale官方文档opencv官方文档其实说的挺清楚的了,对矩阵所有元素同乘一个系数后同加一个系数就是所谓的线性变换。但是没有安排例程,下面我写了一个小例程供大家参考。例程double vec_d[3] = { 3.,4.,5. };CvMat vec = cvMat(3, 1, CV_64FC1, vec_d);cvConvertScale(&vec, &vec, 2, 1);//out-{7,9,11}应用可以进行向量的单位化。注
2021-12-13 09:23:07 2349
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人