4 Stone_石头

尚未进行身份认证

我要认证

让机器视觉变得简单。微信:gaoshijue666

等级
TA的排名 4w+

学习MIPP

1、 VS中启用指令集;这里我用的VS2019启用AVX512时会编译失败。2、这里采用的指令集是AVX2,一个寄存器有256位,每个寄存器的元素数量根据保存的数据类型决定,比如mipp::N<float>等于8,float为32位,则寄存器mipp::Reg<float>可以存8个float数据;mipp::N<double>等于4,double为64位,寄存器mipp::Reg<double>只能存4个double数据。因为调试时只能看到m25

2020-09-10 19:50:51

学习Dlib:serialize与deserialize

#include <iostream>#include <fstream>#include <map>#include <dlib/serialize.h>int main(){ std::vector<std::string> dict0{"11","22","33"}; std::vector<std::string> dict1{"00","55","66"}; std::map<st.

2020-09-08 23:23:54

学习OpenCV:minAreaRect与RotatedRect

minAreaRect:返回指定点集的带方向的最小外接矩形,数据类型为RotatedRect,其中返回的角度θ范围为(-90°,0°]。如果需要将θ限制在(-45°,45°],如:获取到角度-80°时,后面流程我需要的是顺时针旋转10°,如果直接使用是逆时针旋转80°,可参考以下实现,使输出为10°。其中逆时针旋转角度为负,顺时针旋转角度为正。 RotatedRect rect = minAreaRect(conMinArea); float fAngle = rect.angle;//θ∈

2020-09-08 18:00:53

学习OpenCV:PCA

Principal Component Analysis,主成分分析。协方差:通过协方差的数值大小,可以判断这两个变量同向或反向的程度;相关系数:协方差除以标准差;https://www.zhihu.com/question/20852004总结一下PCA的算法步骤:设有m条n维数据。1)将原始数据按列组成n行m列矩阵X2)将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值3)求出协方差矩阵C=1mXXTC=1mXXT4)求出协方差矩阵的特征值及对应的特征向

2020-08-28 17:49:00

C++序列化工程文件时的相关知识点

1、文件的写入与读取; ifstream input("test.svl", ios::in | ios::binary); int nLength; string strTemp; input.read((char*)&nLength, sizeof(int)); strTemp.resize(nLength); input.read((char*)&strTemp[0], nLength); std::cout << strTemp; ofstream

2020-08-27 17:28:30

github中C++实现的http服务库

cpp-httplib:只有一个头文件,但仅支持单线程;cpp-netlib:依赖boost;CppNet:无法获取Body,无法解析json;Crow:依赖boost,不完全支持windowEvHttpServer:linux下,不支持windowfibio:依赖boost旧版本;httpd:linux下,不支持windowhttp-server:linux下,不支持windowhttpsys:star少,无法使用,不返回数据libevent:linux下,不支持win

2020-08-17 14:05:20

c#中用async、awai、Task等实现多线程高并发

http://www.skcircle.com/?id=24

2020-08-05 15:05:16

c++的并发操作(多线程)

https://www.cnblogs.com/yskn/p/9355556.html

2020-07-30 19:30:56

学习OpenCV:聚类函数partition的使用

vector<Point> vecPointsInput; vecPointsInput.push_back(Point(0, 0)); vecPointsInput.push_back(Point(0, 2)); vecPointsInput.push_back(Point(0, 5)); vecPointsInput.push_back(Point(0, 10)); vecPointsInput.push_back(Point(0, 20)); vecPointsInp...

2020-07-23 12:04:59

学习OpenCV:对Canny的理解

CV_EXPORTS_W void Canny( InputArray image, OutputArray edges, double threshold1, double threshold2, int apertureSize = 3, bool L2gradient = false );threshold1:像素值小于低阈值,则排除为边缘像素,设置时参考同一个区域内(边缘区域内)像素值波动值情况,...

2020-07-22 18:30:32

OpenCV实现OTSU算法(大津法)

int GetThresholdOTSU(Mat imgInput){ int hist[256] = { 0 }; double pro_hist[256] = { 0.0 }; int row = imgInput.rows; int col = imgInput.cols; for (int i = 0; i < row; ++i) //统计每个灰度的数量 { for (int j = 0; j < col; ++j) { int temp = imgInpu.

2020-07-20 19:03:29

理解pytorch损失函数Softmax、crossentropyloss交叉熵

import torchimport torch.nn as nnx_input=torch.randn(3,3)#随机生成输入print('x_input:\n',x_input)y_target=torch.tensor([1,2,0])#设置输出具体值 print('y_target\n',y_target)#计算输入softmax,此时可以看到每一行加到一起结果都是1softmax_func=nn.Softmax(dim=1)soft_output=softmax_func(x_i.

2020-07-05 19:05:04

一个点绕任意点旋转θ度后的点的坐标

假设对图片上任意点(x,y),绕一个坐标点(rx0,ry0)逆时针旋转a角度后的新的坐标设为(x0, y0),有公式:x0= (x - rx0)*cos(a)- (y - ry0)*sin(a) + rx0 ; y0= (x - rx0)*sin(a) + (y - ry0)*cos(a) + ry0 ;一下是对这两条公式的证明。证明方法 参看 https://jingyan.baidu.com/article/2c8c281dfbf3dd0009252a7b.html...

2020-06-30 14:32:49

学习OpenCV:matchTemplate模板匹配原理分析

自己的一些理解,仅供参考。模板匹配无法就是在目标图中找出与模板图最相似的坐标。通过整体图像的整体灰度值来判断就是灰度匹配;通过图像的边缘信息来判断就是灰度匹配;通过图像的角点等特征点来判断就是特征匹配。模板匹配中,最重要的就是定义两幅图像的相似度,根据相似度的最值即可在目标图中找到对应的坐标。定义两幅图片相似度需要根据图片的实际情况选择,OpenCV这里提供了包含以下方法,MATLAB中还提供了一些其他方法。差值平方和匹配 TM_SQDIFF标准化差值平方和匹配 TM_SQD.

2020-06-24 19:26:54

win10安装Pytorch GPU

https://blog.csdn.net/weixin_41762173/article/details/104261249按照这篇文章执行下面指令时一直各种包都下载失败,可尝试重复下载可能可以成功。无法下载成功采用本地离线安装。conda install pytorch torchvision cudatoolkit=10.1下载失败后会提示对应的包的链接,复制该链接到迅雷直接下载,如:https://conda.anaconda.org/pytorch/win-64/pytorch

2020-06-21 12:17:42

C++中string的UTF-8格式

string stringUTF8(const string& str){ int nwLen = ::MultiByteToWideChar(CP_ACP, 0, str.c_str(), -1, NULL, 0); wchar_t* pwBuf = new wchar_t[nwLen + 1]; ZeroMemory(pwBuf, nwLen * 2 + 2); ::MultiByteToWideChar(CP_ACP, 0, str.c_str(), str.length(), p.

2020-06-15 14:13:34

Mac安装Python与OpenCV

1、下载python3.x;2、打开终端输入下面指令;sudo pip3 install opencv-python3、如果安装失败,先手动下载opencv-python与Numpy这两个.whl文件到本地;4、打开终端,通过cd,进入到.whl文件的位置,输入下面指令;sudo pip3 install opencv_python-4.2.0.34-cp37-cp37m-macosx_10_9_x86_64.whl...

2020-06-10 19:54:01

Anaconda Promp安装库时的常用指令

conda create -n XXX --clone root 创建XXX环境并且复制base的环境conda create -n XXX python=3.8 创建XXX环境,python版本3.8conda info -e 查看现有的环境与当前所属环境conda activate XXX 切换当前运行环境,xxx为环境名称conda deactivate 切换回初始(base)环境conda remove --name xxx --all 删除叫XXX的环境conda config .

2020-06-09 23:36:15

学习OpenCV:phaseCorrelate使用

相位相关法(phase correlate)用于检测两幅内容相同的图像之间的相对位移量。可用于对齐图像,不具备光照不变性。 Mat imgTem = imread("22imgTemp.jpg"); Mat imgSrc = imread("22imgTargetAlign.jpg"); cvtColor(imgTem, imgTem, COLOR_RGB2GRAY); cvtColor(imgSrc, imgSrc, COLOR_RGB2GRAY); Mat imgTem64f, imgS.

2020-05-27 18:36:15

使用C++解析XML文件

该xml文件为labelImg.exe生成,通过C++获取到该文件中的标签名字与位置,然后保存到容器中供后续方便调用。1、下载库tinyxml;2、将tinyxml.h、tinystr.h、tinystr.cpp、tinyxml.cpp、tinyxmlerror.cpp、tinyxmlparser.cpp这两个文件拷贝到工程下;3、引入两个头文件,#include "tinystr.h",#include "tinyxml.h";#include <iostream&g...

2020-05-26 15:01:53

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。