自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 opencv-meshgrid

使用opencv::repeat函数和std::iota函数完成meshgrid功能。XYZ通俗的说就是根据Z的大小生成X矩阵,Y矩阵

2022-06-30 17:02:04 1372 1

原创 opencv-矩阵与点相乘

从代码简洁度看第一种方法优于第二种方法,从效率而上看第一种方法也占有较小优势,欢迎大家提出其他方法评论区讨论。

2022-06-24 14:28:40 1142

原创 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}[10​01​00​]−>⎣⎡​1013​0114​0015​⎦⎤​[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

原创 模板类模板函数导出DLL

模板类模板函数导出DLL

2022-04-01 14:22:06 768

原创 单元测试实践-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

原创 cpp时间格式-年月日时分秒毫秒

cpp时间格式-年月日时分秒毫秒%Y-%m-%d-%H:%M:%S.%f

2021-12-29 16:43:06 817

原创 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关注的人

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