- 博客(36)
- 资源 (3)
- 收藏
- 关注
原创 【Windows】【C++】【Udp】 udp通信协议详解和示例
在 Windows 平台上,使用 C++ 实现的 UDP 通信服务器和客户端示例代码稍有不同,因为 Windows 使用 Winsock API 进行网络编程。下面是一个简单的 UDP 服务器和客户端的实现示例,包括详细的代码和说明。
2024-09-03 23:16:45 753
原创 C++类名后面跟大括号和跟小括号的区别
在某些情况下可能导致代码的二义性,因此在创建对象时,建议使用大括号进行初始化或直接省略括号。在 C++ 中,类名后面跟着大括号。用于对象初始化,而小括号。有不同的含义和作用。
2023-12-09 19:52:42 1309
原创 使用opencv将sRGB格式的图片转换为Adobe-RGB格式【sRGB】【Adobe-RGB】
使用这个矩阵,你可以将sRGB颜色空间中的颜色转换为Adobe RGB颜色空间。在应用这个矩阵之前,你需要先将sRGB图像的颜色值从伽马校正的非线性空间转换到线性空间,然后应用上述矩阵,最后再将结果从线性空间转换回Adobe RGB的非线性空间。但是,需要注意的是,sRGB和Adobe RGB之间的转换不仅仅是简单的线性变换,因为它们的伽马校正(Gamma Correction)也不同。是转换后的Adobe RGB图像。:在线性空间中,将sRGB的颜色值通过特定的转换矩阵转换为Adobe RGB空间的值。
2023-11-28 20:13:51 701
原创 使用opencv将sRGB格式的图片转换为BT.2020格式【sRGB】【BT.2020】
将sRGB格式的图片转换为BT.2020格式涉及到两个步骤:首先将sRGB转换到线性RGB,然后将线性RGB转换到BT.2020。这是因为sRGB图像通常使用伽马校正,而BT.2020工作在线性色彩空间中。:sRGB图像首先需要进行伽马校正解码转换为线性RGB。这个过程通常不是通过一个简单的线性矩阵实现的,而是通过以下公式:其中 (C_{linear}) 是线性RGB中的颜色分量值(红、绿、蓝),(C_{sRGB}) 是sRGB颜色空间中的对应分量值。
2023-11-28 20:01:46 567
原创 使用opencv将sRGB格式的图片转换为DCI-P3格式【sRGB】【DCI-P3】
sRGB 和 DCI-P3 色彩空间的原色(红、绿、蓝)坐标和白点坐标是已知的。
2023-11-28 19:55:38 1327
原创 Qt获取字符串的宽与高(像素)QFontMetrics
QFontMetrics是Qt中用于获取字体度量信息的类,它提供了一系列函数来计算和获取与字体相关的度量信息。以上是QFontMetrics的常用函数说明和使用示例,可以根据实际需要选择合适的函数来获取字体度量信息。
2023-05-11 17:04:04 3337
转载 C++中的 Round(),floor(),ceil()
2.1 2.6 -2.1 -2.6floor : 不大于自变量的最大整数 2 2 -3 -3ceil :不小于自变...
2022-11-01 16:30:05 840
转载 python中调用C语言动态库的方法,以及指针、引用、数组指针、结构体指针、字符串等参数的传递(新增回调函数用法)
原文连接:python中ctypes使用:指针和指针数组的调用目录导入C语言动态库参数传递问题(指针、引用、数组指针、结构体指针、字符串)接收函数的非空返回值的问题导入C语言动态库# coding=utf-8import osos.add_dll_directory("动态库所在的绝对路径")test = cdll.LoadLibrary('动态库名称.dll')参数传递问题(指针、引用、数组指针、结构体指针、字符串)# coding=utf-8import o
2022-02-16 18:47:48 4828 2
原创 Python输出c_char组成的字符串
原文Pythonimport osfrom ctypes import *os.add_dll_directory("dll绝对路径")test = cdll.LoadLibrary('dllname.dll')sn = create_string_buffer(''.encode('utf-8'), 64) test.GetSn(sn, 64) print('Sn号 :' + str(sn.value))C函数RetCode GetSn(char *valu
2022-02-11 19:49:19 977
转载 VS 使用cmd命令编译
参考资源链接build.bat 文件@echo offrem -------------------------------------------------------- rem -- Function section starts below here rem --------------------------------------------------------rem _solution_file是解决方案名称,log是编译日志文件rem 这个bat示例如下:rem
2021-11-18 20:57:01 892
原创 VS 引入动态库
引入头文件方法一:把头文件直接复制到工程目录下面方法二:在项目属性中的VC++目录\包含目录中添加头文件的文件夹信息添加查找*.lib文件的目录方法一:直接放到项目根目录下面方法二:在项目属性中的VC++目录\库目录中添加相应的文件夹目录(ps:从盘符开始。建议使用VS提供的宏定义,例如:$(MSBuildProjectDirectory)\libs)方法三:在项目属性\链接器\常规\附加库目录中添加*.lib存放的文件夹目录显示引入*.lib文件方法一:#pragmacom.
2021-11-15 20:07:39 1691
原创 格式化日志头文件Log.h
参考博文链接Log.h内容#ifndef __YD_LOG_H__#define __YD_LOG_H__#include <stdio.h>#define _DEBUG#define _DEBUG_TO_FILE #ifdef _DEBUG #define LOG_COMMENT(level, tag, format, ...) "[[%s] File:%s, Line:%d, TAG:%s] "format"\n" , Log::LOG_LEVEL_STR[lev
2021-11-15 19:57:23 539
转载 QImage 图像格式小结 Format_RGB32
原文链接嗯,这个QImage的问题研究好久了,有段时间没用,忘了,已经被两次问到了,突然有点解释不清楚,我汗颜,觉得有必要重新总结下了,不然无颜对自己了。图像的数据是以字节为单位保存的,每一行的字节数必须是4的整数倍,不足的补0。(因为我们使用的是32操作系统,因此数据是按照32位对齐的,所以每行的字节数必须是4的整数倍也就是说每行的数据位必须是32位的整数倍。)这里是按照我的理解的,貌似错了,修正一下,最近在看数据对齐,这段话先忽略了,没有删掉,是因为,想留个足迹,等我找到合适的答案再贴上来。不过,
2020-08-11 11:35:11 13149 1
转载 c++ 实现计算特征值和特征向量(matlab eig实现)
原文链接#pragma once#include <iostream>#include <vector>#include <map>#include <iomanip>using namespace std;namespace Algorithm{ using namespace std; bool My_Jacobi(const vector<vector<double>>& matrix\ ,
2020-07-18 11:57:12 3268 2
转载 Qt字符串格式化性能比较
原文链接Qt字符串格式化性能比较Qt字符串格式方法有三种, QString::arg(), QString::sprinft()和QStringList::join().今天我做了个简单的性能测试, 希望对各位有所帮助.调用QString::arg()一次:复制代码1.QString s(“1234567890”);// 开始计时for (int i = 0; i < 10000; ++i) {QString str("%1");str.arg(s);}// 停止计时调用QS
2020-07-07 14:04:50 1196
原创 QImage 利用数据生成图片 对数据采用的是浅拷贝,不是深拷贝
QImage 构造函数 QImage(uchar *data, int width, int height, Format format, QImageCleanupFunction cleanupFunction = Q_NULLPTR, void *cleanupInfo = Q_NULLPTR); QImage(const uchar *data, int width, int height, Format format, QImageCleanupFunction cleanupFu
2020-07-01 15:40:06 2070
转载 几种查看Matlab函数源代码的方法
原文链接查看源码是学习写代码的一种好方法,这里介绍几种查看Matlab软件自带函数的方法:1、type函数在命令窗口输入“type+函数名”,则命令窗口会显示函数的源代码,例如type regress(其中regress是用来做线性回归的一个函数)。2、open函数在命令窗口输入“open+函数名”,则打开了函数名.m文件,例如open regress。3、edit函数在命令窗口输入“edit+函数名”,则打开了函数名.m文件,可修改调试,例如edit regress。4、故意写错函数的参数
2020-05-30 11:06:24 14820
转载 c++ 像mybatis一样的写mysql
原文链接cpp easy sql简介将sql语句与代码分离解耦,存放于xml配置文件中用逻辑标签控制SQL的拼接查询的结果集与C++对象自动映射实现cpp_xml.py 将xml定义的sql语句转成c++代码 sql_handler.h定义了两组执行sql、获取结果的接口。分别是ColumnIndexSqlHandler通过index获取结果ColumnLabelSqlHandler通过字段名获取结果。cpp_sql.h 利用mysql-connection-c++实现了ColumnLa
2020-05-29 11:08:22 1485
转载 为什么模板函数应该定义在头文件内
原文链接general的编译链接过程:首先,C++标准中提到,一个编译单元[translation unit]是指一个.cpp文件以及它所include的所有.h文件,.h文件里的代码将会被扩展到包含它的.cpp文件里,然后编译器编译该.cpp文件为一个.obj文件,但是,不一定能够执行,因为并不保证其中一定有main函数。当编译器将一个工程里的所有.cpp文件以分离的方式编译完毕后,再由连接器(linker)进行连接成为一个可执行文件。举个例子://---------------test.h---
2020-05-29 10:42:07 256
转载 bat 输出 空行
bat输出空行:原文链接echo是批处理中最简单的命令,但是你真的掌握了吗?你知道echo输出空行的十种方法吗?你知道用echo怎么输出on或者off或者/?吗?你知道echo, echo+ echo.哪个效率更高吗?众所周知,如果echo后面跟一个环境变量,但是该变量却为空时,相当于不加任何参数的echo,即输出当前echo是on还是off。很多文章或者教程给出的解决方案都是在echo后面加...
2020-04-30 17:25:57 4848 1
原创 C++ 多项式 曲线拟合
头文件#pragma once#include <vector>using namespace std;class LeastSquareMethod{public: LeastSquareMethod(); //LeastSquareMethod(vector< double > &y, vector< double > &...
2020-04-24 19:55:35 2116
转载 qt QRadioButton QButtonGroup 单选控件
原文链接#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QRadioButton>#include <QButtonGroup>class MainWindow : public QMainWindow{ Q_OBJECTpublic:...
2020-04-16 09:41:32 647
原创 单例模式模板 自动释放单例指针
#pragma oncetemplate <typename T>class CSingleton{public: static T *getInstance() { return instance; }private : static T *instance; CSingleton(); class AutoRelease { public: ...
2020-02-26 11:48:44 163
原创 堆 栈
#include <stdio.h>#include <stdlib.h>int main(void){ int a = 0x01020304 ; int b = 0x05060708 ; char *p = (char *)&b ; printf("a %p a+1 %p b %p\n", &a, (&a)+1, &b ...
2020-01-16 10:38:04 93
原创 python 国内镜像库
https://pypi.doubanio.com/simple/使用样例pip install QScintilla -i https://pypi.douban.com/simple
2019-12-10 10:53:38 181
原创 QTreeWidget 遍历所有子节点(QTreeWidgetItem)
int size = mTreeWidget->topLevelItemCount(); QTreeWidgetItem *child; for (int i = 0; i < size; i++) { child = mTreeWidget->topLevelItem(i); int childCount = child-...
2019-12-06 13:34:29 11873 1
filetool.zip
2019-12-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人