
C++
文章平均质量分 73
假装自己很懂
哦?这是你的算法?现在它是我的了
展开
-
IMU标定程序教程imu_utils(ubantu20.04)
最近因为做融合定位,需要对IMU进行标定所以了解了下标定的程序。但是网上的教程基本上都或多或少有点问题没法,在我自己把坑趟完后,做个总结给后来者一个方便。原创 2022-12-02 16:20:27 · 3731 阅读 · 5 评论 -
在QT框架下进行仿照PS图像调整功能设计(亮度对比度,色相饱和度及明度)
原文链接:https://blog.youkuaiyun.com/maozefa/article/details/4778934 图像亮度调整分为非线性和线性两种方法。 非线性图像亮度是将图像像素的R、G、B分别加上或减去某个值,其优点是代码简单,亮度调整速度快;缺点是图像信息损失较大,调整过的 图像显得平淡,无层次感。 线性图像亮度一般是将图像像素的RGB转换为HSL(HSV)等颜色空间,对L(V)部分进行增减调整后,再转换为RGB颜色空间,优点是调整过图像层次感很强;缺点是代码较复杂,调整速...原创 2021-03-31 17:47:33 · 1559 阅读 · 4 评论 -
可稳定复现的多线程崩溃BUG
测试提出的问题中有一个功能在多次点击后会出现崩溃。 开始没发现问题,因为我对于线程结束用bool值标记过,稳定崩溃,崩溃的位置各不相同。 后来仔细看发现有一行代码 ::PostMessage(g_pAnalyView->GetSafeHwnd(), WM_USER_IMPORT, 0, 0); 其中调用的消息对应的函数在开启线程中有用到同一数据的情况,而所用数据并未加锁保护。 因此导致了程序崩溃。 为了避免这个问题,给对应的数据加上mutex。通过这个互斥量来控制数据的权限。 ...原创 2020-08-27 17:32:36 · 571 阅读 · 0 评论 -
C++写一个日志类及日志类的使用方法
#define LOG #define WRITE_LOG(format, ...) CLog::getInstance()->PushLogInfo(__FUNCTION__, __LINE__, format, __VA_ARGS__) class CLog { public: static CLog* getInstance()//返回CLog的单例 { static CLog m_log; return &m_log; } void PushLogInfo(const.原创 2020-08-11 18:13:23 · 1019 阅读 · 1 评论 -
MFC中自定义进度条控件和输入框的注意事项
void CProgressDlg::SetPos(int progress) { m_curProgress = progress; m_progressCtrl.SetPos(progress); Invalidate(FALSE); /*UpdateWindow();*/ } 进度条控件的刷新方式,如果你使用updatewindow你的刷新方式的同步的,阻塞式。那么在其他地方已经在使用当前的UI时,你的刷新很有可能被覆盖掉。导致你的进度条没有实时更新,你关闭你的界面,再打开,发现进度条.原创 2020-08-11 17:57:24 · 437 阅读 · 0 评论 -
删除结构体和C++初始值的设置问题
void DeleteData() { memset(&Data, 0, sizeof(Data)); memset(&Data, 0, sizeof(Data)); } 在类中往往有结构体作为成员,当需要删除时,与系统其他结构往往不一样,这个代码是在结构体Data内都是系统自带类型时所用的方法,如果内部有更为复杂的结构体,需要计算长度是否设置合理。 如果在类中需要对成员中的结构体进行初始化,那么最为推荐的方法是列表式初始化。 AutoAlign::AutoAlign..原创 2020-08-11 17:40:34 · 981 阅读 · 0 评论 -
纯虚类作为回调接口使用方法
class CallbackProgress { public: virtual ~CallbackProgress() = default; * \param progress 进度位置(0~100) * \param information 进度信息 virtual void OnCallback(const int& progress, const char* information) = 0; }; 一个纯虚类作为回调接口,那么必然,你不可能作为对象来调用信息。 因此你将.原创 2020-08-11 17:24:16 · 418 阅读 · 0 评论