- 博客(24)
- 收藏
- 关注
原创 浅用Lambda表达式
假设我们有一个整数数组,并且我们希望计算每个元素与某个基准值的差。我们可以使用lambda表达式来实现这一点,并通过捕获列表来捕获基准值。},它计算差值并返回结果。使用Lambda使得代码更加简洁和易读,同时也避免了手动管理容器的大小和内存分配。参数列表是 (int n),表示lambda表达式接受一个 int 类型的参数。返回类型是 -> int,表示lambda表达式返回一个 int 类型的结果。捕获列表是 [base_value],表示按值捕获 base_value。
2024-10-22 18:07:10
202
原创 VS2015新建工程使用外部DLL的详细步骤
5、在“配置属性”->“链接器”->输入”->"附加依赖项"栏,填写lib文件的名称,同样这里可以填相对路径或者绝对路径,注意这里跟配置一劳永逸的Opencv不同,因为没有配置环境变量(告诉了计算机opencv的DLL文件夹位置,所以附加依赖项可以直接填lib文件的名称,而不用加路径),这里不能只填名称,而是要填lib文件具体的路径。2、注意如果想用.exe文件直接运行出结果,应改为Release模式,选择x64或者x86均可,然后在“解决方案资源管理器”栏,右击项目名称,选择“属性”,进入配置界面。
2024-10-16 16:08:10
706
原创 opencv检测轮廓点曲率
轮廓点的曲率可以帮助你识别轮廓中的尖角或者平滑区域。下面是一个基本的步骤说明以及C++代码示例,用于计算轮廓上每个点的曲率。
2024-09-12 09:36:23
779
1
原创 OpenCV中,perspectiveTransform函数和warpPerspective函数的区别和联系
在这个示例中,pts1和pts2是源图像和目标图像中对应点的数组,width和height是输出图像的尺寸。其中,src是源图像,dst是输出图像,M是变换矩阵,dsize是输出图像的大小,flags是插值方法,borderMode是边界像素的填充方式,borderValue是边界填充值。输出不同:perspectiveTransform输出变换后的点坐标,而warpPerspective输出变换后的图像。其中,src是输入点集,dst是输出点集,m是变换矩阵。warpPerspective函数。
2024-01-16 18:20:40
3320
2
原创 科普:UTF-8和Unicode分别是什么?二者有什么区别
UTF-8 是一种可变长度的编码方式,它使用1-4个字节来表示一个字符,这使得它可以表示Unicode中的所有字符。Unicode是一种字符编码标准,而UTF-8是一种实现Unicode的编码方式。UTF-8是一种可变长度的编码方式,这意味着不同的字符可以由不同数量的字节表示。而Unicode则不区分字符和字节。在C++中,UTF-8和Unicode都是用于处理字符编码的规范,但它们之间有一些重要的区别。Unicode可以表示世界上所有的字符,而UTF-8可以表示Unicode中的所有字符。
2023-11-16 14:47:41
1119
1
原创 文件流操作之:std::ifstream 和std::ofstream 的异同点
std::ifstream 和std::ofstream 的异同点
2023-10-13 09:27:58
874
原创 关于path.string()、path.filename().string()、path.parent_path().string()、path.parent_path().filename()
path.string()、path.filename().string() 、path.parent_path().filename().string() 和 path.parent_path().string() 之间的区别
2023-10-12 16:19:46
339
原创 关于类对象和对象属性的地址探讨
#include <iostream>#include <string>using namespace std;class person{public: person() { cout << "默认构造函数的调用" << endl; } person(int age) { m_age = age; cout << "有参构造函数的调用" << endl; } /*person(const person
2022-03-16 15:05:56
881
原创 删除vector容器某位置元素的三种简单方法
#include<algorithm>#include<iostream>#include<vector>using namespace std;int main(){ vector<int>vec;//定义一个容器vec for (int i = 0; i < 5; i++)//给该容器装进5个数 vec.push_back(i); for (auto&v : vec) cout <<"没删除时容器的元素有
2021-11-26 21:36:30
12246
2
原创 关于Opencv中Matches类成员变量的测试
#include"opencv2/core/core.hpp"#include"opencv2/highgui/highgui.hpp"#include"opencv2/imgproc/imgproc.hpp"#include"opencv2/features2d/features2d.hpp"#include"opencv2/nonfree/nonfree.hpp"#include"opencv2/legacy/legacy.hpp"#include<typeinfo>usin
2021-09-24 10:25:34
447
原创 opencv中的Point2f用法避雷
point2f(x,y)中的x代表在图像中的列,y代表图像中的行。用法:Point2f a;a.x=2;a.y=1.5;或者Point2f a=Point2f(2,1.5)常入坑的用法:Point2f a=(2,1.5);注意这种用法是错误的。代码验证:#include"iostream"#include"opencv2/opencv.hpp"#include"vector"#include<cmath>#include<queue>#inclu
2021-09-03 17:55:20
20774
3
原创 Harris角点检测求得的响应值R到底有多大?
#include "opencv2/opencv.hpp"#include"opencv2/highgui/highgui.hpp"#include"opencv2/imgproc/imgproc.hpp"#include<iostream>#include<vector>#include<typeinfo>using namespace std;using namespace cv;int main(){ Mat src, src_gray, ds
2021-08-20 22:04:20
467
原创 黑马程序员c++115课,引用方式返回和值方式返回的理解
#include <iostream>using namespace std;class Person{public: Person(int age) { //1、当形参和成员变量同名时,可用this指针来区分 this->age = age; } Person& PersonAddPerson(Person p) { cout << "拷贝构造函数被调用" << endl; this->age += p.age
2021-08-11 17:15:48
910
3
原创 关于访问矩阵当前行地址的新老方法对比
#include <iostream>#include <opencv2/opencv.hpp>using namespace std;using namespace cv;int main(){ Mat src(3, 3, CV_8UC1, Scalar(1));//创建一个3*3矩阵,类型是8位无符号单通道,每个元素值都是1。 for (int i = 0; i < src.rows; i++)//遍历矩阵每一行。 { float* data1
2021-08-10 20:28:15
214
原创 Sobel函数中的scale参数对输出结果的影响
今天看Harris的源码时,发现Sobel函数的参数scale=1的默认值被改了,主要目的是为了通过减小尺度,来提高平滑处理的速度。下文调用了sobel函数,来看看究竟scale这个参数对输出有什么影响。首先,简单介绍下sobel函数,如下:void Sobel(inputArray,outputArray,int ddepth,int dx,int dy,int ksize=3,double scale=1,double delta=0,int borderType=BORDER_DEFAULT)
2021-08-10 17:47:06
762
原创 关于Mat类型data、step、depth、elemsize等属性的解读
关于Mat类型各种属性的解读假如我们有一块地皮,我们要在这个地皮上盖房子,用来做宾馆。所以首先我们要设计好关于这块地皮的所有属性,比如:盖几层 //dim每层的房间有几行几列 size()每行有多少间房 cols每列有多少间房 rows每个房间几张床 channel每张床的成本价 depth房间每晚多少钱 elemsize折合一张床每晚多少钱 elemsize1每行所有的房间一晚多少钱 stepuchar类型的指针,指向Mat数据矩阵的首地址。可以理解为标示一个房屋的门牌号;dims
2021-08-09 19:03:20
2054
原创 关于c++异或、按位与操作计算汉明距离笔记
汉明距离就是比较两个整数的二进制表示中,对应位置数字不同的总数,如:1011101 与 1001001 之间的汉明距离是 2。#include "iostream"#include"cmath"using namespace std;int main(){//方法一: int x, y; x=10; y=20; int a=x^y,answer=0; while (a != 0) { answer++; a &= a - 1;//结论:n和n-
2021-08-05 16:31:12
218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人