- 博客(195)
- 资源 (18)
- 收藏
- 关注
转载 相位测量轮廓术PMP+相移方法(三维测量——三、四步相移)
另外,FTP需要提取基频分量,但出现频谱混叠(overlapping)的情况,同样不能正确提取相位,对应的解决方法是将滤波的矩形窗改成汉明窗等窗函数,也有文章提出modified FTP,其实也是设计更合适的滤波器来减少频谱混叠的影响。采用PMP方法的,我看的文献比较多的是三步相移和四步相移,因此如果不太理解上面求相位的公式,可以亲手推一推三步相移和四步相移的公式就会明白了,特别是四步相移,一看就懂的。纹理(texture)可以认为是环境的光强,也就是被测物体的反射光,可以用A来表示。
2023-12-13 19:50:15
1394
1
原创 libtorch gpu vs2017环境配置
一、vs2017配置 右击解决方案-->属性-->C/C++-->常规-->附加包含目录,如图,添加libtorch下的两个文件夹 右击解决方案-->属性-->链接器-->常规-->附加目录项,添加lib路径 右击解决方案-->属性-->链接器-->输入-->附加依赖项 c10.lib c10_cuda.lib torch_cpu.lib torch_cuda.lib torch_cuda_cu
2022-02-28 19:40:25
1228
2
原创 VScode如何Debug(调试)进入标准库文件/第三方包源码
vscode的调试配置里有个重要的选项没配置,就是"justMyCode": false。这个选项默认是true,是进不了第三方包源码的,所以要改成false。
2021-09-03 15:01:18
1181
原创 opencv3中copyTo 和clone区别
cv::Mat src = cv::Mat::zeros(100, 100, CV_8UC1);cv::Mat dst = cv::Mat::zeros(200,200, CV_8UC1);cv::Rect roi = cv::Rect(20, 20, 100, 100)src.copyTo(dst (roi));//正确赋值dstdst (roi) = src.clone();//不正确赋值dst不管dst在之前有没有分配内存,clone都会为其分配新内存。dst (roi)指向dst
2021-08-19 15:26:17
285
转载 opencv 实现多项式曲线拟合
基本原理:幂函数可逼近任意函数。上式中,N表示多项式阶数,实际应用中一般取3或5;假设N=5,则:共有6个未知数,仅需6个点即可求解;可表示为矩阵方程:Y的维数为[R*1],U的维数[R * 6],K的维数[6 * 1]。R> 6时,超定方程求解:下面是使用C++实现的多项式拟合的程序,程序中使用opencv进行矩阵运算和图像显示。程序分别运行了N=3,5,7,9时的情况,结果如下:...
2021-05-18 16:54:30
1618
原创 maskRcnn 参数
model { faster_rcnn { num_classes: 3 //获取要识别的类数 image_resizer { keep_aspect_ratio_resizer { min_dimension: 128 //最小的图片像素 max_dimension: 1024 //最大的图片像素 } } feature_extractor { // 特征提取的配置 type: "faster.
2020-09-02 18:51:08
2904
1
原创 Git使用问题
This is usually caused by another repository pushing执行如下命令git pull origin master--allow-unrelated-histories
2020-08-11 18:05:53
193
原创 OpenCV学习--saturate_cast防止数据溢出
在图像处理方面,无论是加是减,乘除,都会超出一个像素灰度值的范围(0~255),saturate_cast函数的作用即是:当运算完之后,结果为负,则转为0,结果超出255,则为255。
2020-07-23 13:16:28
278
转载 OpenCV reduce 函数
下面是一个简单的例子,可以理解cv::reduce()函数的作用。//====================================================================//// Created by liheng on 19-7-2.//Program:reduce()函数//Data:2019.7.2//Author:liheng//Versi...
2020-04-08 17:48:59
774
转载 cv::putText详解
opencv中除了提供绘制各种图形的函数外,还提供了一个特殊的绘制函数——在图像上绘制文字。这个函数即是cv::putText()。具体形式如下: void cv::putText( cv::Mat& img, // 待绘制的图像 const string& text, // 待绘制的文字 cv::Point orig...
2020-04-03 08:50:12
5043
原创 VS Release 模式下断点调试
1.工程项目上右键 -> 属性2.c++ -> 常规 -〉调试信息格式 选 程序数据库(/Zi)或(/ZI), 注意:如果是库的话,只能(Zi)3.c++ -> 优化 -〉优化 选 禁止(/Od)4.连接器 -〉调试 -〉生成调试信息 选 是 (/DEBUG)...
2019-11-28 13:14:06
270
原创 GSL windows下使用
lib /machine:i386 /def:libgsl.deflib /machine:i386 /def:libgslcblas.def加入宏标识“GSL_DLL" c/c++ --> 预处理器 -->预处理器定义
2019-11-14 15:09:41
333
原创 Tensorflow softmax_cross_entropy_with_logits函数
import tensorflow as tflogits = tf.constant([[4.0, 2.0, 3.0], [1.0, 3.0, 5.0], [1.0, 2.0, 3.0]])y_ = tf.constant([[0.0, 0.5, 1.0], [0.0, 0.0, 1.0], [0.0, 0.0, 1.0]])def cross(): y = tf.nn.s...
2019-10-15 16:30:52
215
转载 VggNet Mnist训练
#coding:utf-8import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_dataimport numpy as npimport time#parasn_classes = 10# Training Parameterslearning_rate = 0.001num_...
2019-10-10 13:18:31
1259
1
转载 Tensorflow实战:Inception_V3原理及实现
https://blog.youkuaiyun.com/m0_37917271/article/details/82344711
2019-09-29 13:32:26
300
原创 tensorflow 恢复网络 tensorboard显示
# 这是从文件格式的meta文件加载模型graph = tf.get_default_graph()graphdef = graph.as_graph_def()# graphdef.ParseFromString(gfile.FastGFile("/data/TensorFlowAndroidMNIST/app/src/main/expert-graph.pb", "rb").re...
2019-07-09 18:48:29
216
原创 pycharm配置
pycharm 无法找到动态库//Run模式(1)进入file->settings->Build,Execution,Deployment->Console->PythonConsole(2)编辑Environmentvariable,添加LD_LIBRARY_PATH//Debug模式edit configuration 相应项目配置...
2019-07-08 10:06:02
197
原创 彷射变换坐标转换
float angle = 0.2;float radian = CV_PI * angle / 180.0;cv::Point pt, originPt, dstPt, rotatedPt;originPt = cv::Point(100, 200);rotatedPt = cv::Point(100, 100);pt.x = originPt.x * cos(radian) + o...
2019-04-28 11:22:29
975
原创 opencv 图像类型对应读写格式
Mat每个格子内的数据格式-----------Mat定义Mat_<uchar>---------CV_8UMat<char>-----------CV_8SNat_<short>---------CV_16SMat_<ushort>--------CV_16UMat_<int>-----------CV_32SMat_&...
2018-10-30 15:35:17
864
转载 删除非空文件夹
/* 文件名: rd.c ---------------------------------------------------- c中提供的对文件夹操作的函数,只能对空文件夹进行 删除,这使很多初学者在编码过程中产生许多困扰,我也 很不爽这件事情,所以编写这个对非空文件夹进行删除的 函数,仅供参考。 注意:本函数编写以VC6为依据,其中关于文件夹的操作函数 ...
2018-03-08 13:01:14
563
转载 多通道图像遍历
方法一:普通遍历[cpp] view plain copyfor(int y = 0;y //行 { for(int x = 0; x //列 { Scalar pix = srcImg.at(y,x);
2018-01-30 16:12:25
397
转载 opencv3.0中的无缝克隆图像——seamless_cloning(Poisson Image Editing)
opencv3.0 photo 模块加入了seamless_cloning类。该类对应的论文是“Poisson Image Editing”主要可以实现一下功能:seamless clone:纹理传输:去除光噪:等等。本文主要以normal_clone为例, 从代码层面解释整个流程:
2018-01-08 13:20:57
1670
转载 Carsten Steger 高斯平滑边缘
论文思路一、 对直线(一维曲线的检测)1. 真实图像常常包含噪声,对图像进行平滑去噪(高斯平滑): 2. 对去噪后的图像求一阶导数,得到图像的一阶响应3. 对一阶响应再次求导数,得到二阶响应:4.将原图进行泰勒展开,保留前三项,(系数分别为原图的各阶响应)
2017-11-02 17:05:26
1626
转载 openmp
最近在看多核编程。简单来说,由于现在电脑CPU一般都有两个核,4核与8核的CPU也逐渐走入了寻常百姓家,传统的单线程编程方式难以发挥多核CPU的强大功能,于是多核编程应运而生。按照我的理解,多核编程可以认为是对多线程编程做了一定程度的抽象,提供一些简单的API,使得用户不必花费太多精力来了解多线程的底层知识,从而提高编程效率。这两天关注的多核编程的工具包括OpenMP和TBB。按照目前网上的讨论,
2017-06-01 16:19:37
456
转载 minAreaRect-OpenCV
由于要将rRect利用仿射变换裁剪下来并旋正,需要知道rRect.point()的四个点的位置,查了一下资料,记在下面:简介:Finds a circumscribed rectangle of the minimal area for 2D point set by building convex hull for the set and applying rotating calipe
2017-02-17 09:24:49
1194
转载 VC 和 Halcon 之间的互相赋值
// HTuple→VC 数据类型转换HTuple hTuple = 1234;int i = hTuple[0].I(); // i=1234long l = hTuple[0].L(); // l=1234long lNumber = hTuple.Num(); // lNumber=1,数据个数
2017-01-10 11:39:03
871
转载 广义霍夫变换目标匹配
#include vector> #include iostream> #include string> #include "opencv2/core.hpp" #include "opencv2/core/utility.hpp" #include
2016-12-14 13:06:51
4482
1
转载 基于边界的模板匹配的原理及算法实现
转载于:http://blog.youkuaiyun.com/huixingshao/article/details/45560643最近被Halcon中的基于边缘的模板匹配算法吸引到了,故找到了一点点学习资料,供同行参阅,水平有限,大家多包含。本文算法很初级,做入门了解用。原文是英文,所以把原文copy 过来了,另加了一些中文。算法运行效果如下:【效果还行,只是原理性示意,不要要求太
2016-11-23 19:04:18
1694
转载 图像锐化(增强)和边缘检测
本文内容构成: 1、图像锐化和边缘检测的基本概念,微分梯度已经差分的定义 2、锐化和边缘检测的像素处理方式(3种) 3、单方向一阶微分锐化,包括: 水平方向 垂直方向 Kirsch算子 4、无方向微分锐化,包括:
2016-11-12 11:18:05
3836
转载 日志类
class LogFile{public: static LogFile &instance(); operator FILE *() const { return m_file; }private LogFile(const char *filename) { m_file = fopen(filename, "a+"); } ~LogFile() {
2016-10-31 09:12:22
358
转载 玻璃便面划伤
行业应用:玻璃,金属,液晶板、手机屏幕、塑料等等表面检测。表面检测一直是机器视觉行业的一个难点,针对于抛光材料表面的划伤脏污等检测,常见打光方式采用同轴光、高角度、低角度、背光。(如下图)以上方式针对硬划伤一般有比较明显的效果,但是有些工件表面要求比较高,针对于一些软划伤效果往往不是很明显。根据我们日常工作中的经验,机器视觉中的绝大部分的效果
2016-10-27 15:48:09
1169
2
ipp-75060a0c662c0800f48995b7e9b085f6-ippicv_2017u2_win_intel64_20170418
2017-12-27
移动最小二乘
2015-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人