- 博客(43)
- 资源 (11)
- 收藏
- 关注

原创 VC BMP写字方法(绝对好使)
char bmppath[]="1.bmp"; FILE *fp=fopen(bmppath,"rb"); if(fp==0) return ; fseek(fp,sizeof(BITMAPFILEHEADER),0); BITMAPINFOHEADER head; fread(&head,sizeof(BITMAPINFOHEADER),1,fp); int bmpHeight=head.b
2009-08-22 15:00:00
1643
1
原创 计算斜着椭圆内某个点到边距离(验证ok)
/ 旋转角度,转换为弧度。// 确保 alpha 在 0 到 2π 之间。// 2. 计算参数角 alpha。// 4. 旋转回全局坐标系。// 计算边界点到中心的距离。// 3. 计算椭圆边界点。
2025-03-19 22:22:39
255
原创 cv::RotatedRect minRect = cv::minAreaRect(vMaxDftArea);如何判断最长边方向直线方程
/ 中心 (100, 100),宽 80,高 50,角度 30°。// 如果高度是最长边。// 如果宽度是最长边。// 直线方程:y = mx + b,其中 m 是斜率,b 是截距。// 计算 b (截距),使用矩形的中心点代入方程。// 计算最长边的方向的斜率 (方向角转为斜率)// 调用函数获取最长边的直线方程。// 判断哪个边是最长边。
2024-12-23 09:37:48
157
原创 C++调用python
如果只需要执行 Python 脚本,system或是简单且有效的选择。如果需要深入交互(如函数调用或数据传递),可以考虑pybind11或。在实际开发中,选择方法时需要权衡易用性和性能。
2024-12-02 19:26:17
682
原创 XML 版本的 ControlManager 实现
欢迎使用该应用</text><text key="greeting">你好</text><text key="farewell">再见
2024-11-27 11:47:50
661
原创 MFC,DLL界面库设计注意
这个错误是由于CShapeBase类的虚表(vtable)没有正确生成或导出。在生成DLL时,需要确保虚函数表正确地在DLL中定义并导出,否则编译器会无法找到所需的符号,从而引发LNK2001错误。
2024-11-05 20:10:54
1200
原创 深度学习相关资料
这些库的组合可以支持各种深度学习应用,比如图像分类、自然语言处理、时间序列预测等。如果您对某个特定技术或应用有疑问或需要具体代码示例,请随时告诉我!
2024-11-04 21:09:45
319
原创 开源目标检测和语义分割都有哪些方法
一种基于 Transformer 的检测方法,取消了传统的 anchor 机制,通过 Transformer 提取图像特征,效果较好但计算成本较高。这些方法和框架涵盖了目标检测和语义分割的主流技术路线,并提供了良好的开源支持,方便用户根据需求进行扩展和应用。:一种不依赖区域建议的检测方法,通过多尺度特征检测来应对不同大小的物体,速度较快,适用于实时检测。:将传统的卷积神经网络修改为全卷积网络,去掉全连接层,使其可以生成与输入大小一致的分割结果图。
2024-11-01 22:33:13
952
1
原创 创建插件 DLL 项目
定义一个通用接口,所有插件需要实现这个接口。可以创建一个基类IPlugin,包含每个插件应实现的虚函数:cpp复制代码// 初始化插件 virtual void Execute() = 0;// 执行插件操作 virtual void Shutdown() = 0;// 关闭插件 };
2024-10-25 22:10:44
861
原创 插件管理架构
│ ├── CShapeBase.h // 通用接口和基类头文件。├── main_program/ // 主程序代码目录。│ └── IPlugin.h // 插件接口定义。└── plugins/ // 插件代码目录。│ └── PluginA.def // 导出符号定义。└── PluginB.def // 导出符号定义。
2024-10-25 22:09:02
229
原创 添加文字水印和图像水印
std::cout << "无法打开图像文件!// 保存带水印的 BMP 图像。// 在图像上添加文字水印。// 读取 BMP 图像。// 定位水印的位置。
2024-10-25 09:11:35
374
原创 halcon目标检测标注保存
image_dir := 'c:/视觉芯/images/'* 类别名称列表和对应的ID列表。* 保存字典到.hdict文件。* 保存类别和ID到字典中。* 创建一个新的字典。
2024-03-28 20:56:14
550
原创 添加图像MFC PDF
if (!image)return;if (!pdf)return;= HPDF_OK)return;if (!page)return;= HPDF_OK)return;
2024-03-27 11:18:56
789
原创 添加表格MFC PDF
if (!font)return;i++)i++)i++)j++)if (!pdf)return;= HPDF_OK)return;if (!page)return;= HPDF_OK)return;
2024-03-27 11:18:16
571
原创 pdf操作
if (!pdf)return;= HPDF_OK)return;if (!page)return;if (!font)return;");= HPDF_OK)return;
2024-03-27 11:17:09
929
原创 相机姿态检测计算cv::solvePnP,图像到世界,世界到图像坐标
/ 估计左相机的旋转和平移矩阵。// 左相机内参矩阵和畸变系数。// 左相机图像坐标。
2024-01-07 21:56:05
813
原创 stereoCalibrate手动简单去标定
std::cout << "立体标定 RMS 误差: " << rms << std::endl;std::cout << "旋转矩阵 (R): " << R << std::endl;std::cout << "平移向量 (T): " << T << std::endl;cv::CALIB_FIX_INTRINSIC // 限制内参不变。// 手动输入的相机内参矩阵和畸变系数(假设没有畸变)// 手动输入的左相机图像坐标。// 手动输入的左相机图像坐标。// 手动输入的右相机图像坐标。
2024-01-04 22:14:31
507
原创 如果你从图像中提取了特征点,例如使用关键点检测算法(如SIFT、SURF、ORB等),并且这些特征点在两个视图中都能够被检测到,你可以使用双目视觉标定的结果将这些特征点映射到世界坐标中。
/ 使用三角测量将像素坐标转换为世界坐标。// 使用暴力匹配寻找匹配的特征点对。// 转换为齐次坐标并获取三维坐标。// 提取匹配点对的像素坐标。// 读取左右摄像头的图像。// 使用ORB特征点检测。// 读取双目标定的结果。
2024-01-03 08:53:30
397
原创 OpenCV进行具有圆形标定板的双目标定:
/ 圆形标定板的行数和列数。// 圆心之间的距离(米)// 保存左右摄像头的图像坐标和对应的世界坐标。// 生成圆形标定板的三维坐标。// 设置圆形标定板的参数。// 读取左右摄像头的图像。// 检测圆形标定板的角点。
2024-01-02 16:11:49
948
原创 双目摄像头测量产品的长度
float disparityValue = disparity.at<float>(/* 物体的垂直中心像素坐标 */, (leftEdgePixel + rightEdgePixel) / 2);std::cout << "物体长度:" << objectLength << " 米" << std::endl;// 假设你已知物体在场景中的位置,可以根据视差图中的像素值计算实际的物体长度。// 例如,假设你知道物体在图像中的左右边缘对应的像素坐标。// 读取左右摄像头的图像。// 计算实际物体长度。
2024-01-02 14:10:02
623
原创 双目标定(Stereo Calibration)是在计算机视觉中用于确定双摄像头系统内外参数的过程。OpenCV库提供了用于双目标定的函数
/ 读取左右摄像头的图像。// 将视差图转换为深度图。// 读取双目标定的结果。
2024-01-02 14:09:19
484
原创 C++,DLL插件实现方式
/ 函数指针类型定义,用于获取插件工厂函数。// 通过释放函数释放插件。// 函数指针类型定义,用于释放插件。// 导出释放插件的函数。// 导出插件工厂函数。
2023-12-28 16:40:15
579
1
原创 以下是一个用MATLAB深度学习工具箱进行图像分类任务的完整示例代码。该示例使用了一个预训练的深度卷积神经网络(CNN)模型来对图像进行分类:
fprintf('测试集准确率: %.2f%%\n', accuracy * 100);% 如果你满意模型的性能,你可以保存模型并部署到不同的应用程序中。% 这里使用MATLAB自带的图像分类数据集。% 你可以加载新图像并使用模型来进行分类。% 步骤3:分割数据集为训练集和测试集。% 步骤8:保存和部署模型(如果需要)% 步骤2:加载预训练的CNN模型。% 步骤7:使用模型进行预测。% 步骤1:加载和准备数据。% 步骤4:定义训练选项。% 释放不再需要的资源。% 步骤5:训练模型。% 步骤6:评估模型。
2023-09-24 18:20:21
221
1
原创 opencv c++方法
#include <opencv2/opencv.hpp>#include <iostream>int main() { cv::Point2f center(100.0f, 100.0f); // 圆的中心坐标 float radius = 50.0f; // 圆的半径 cv::Vec4f line(1.0f, -1.0f, -50.0f, 0.0f); // 直线的一般方程 Ax + By + C = 0 cv::Point2f intersection1, interse
2023-09-22 21:50:40
94
原创 MFC下多线程同时修改成员变量CString报错
在MFC(Microsoft Foundation Classes)中,当多个线程同时尝试修改同一个成员变量,尤其是CString类型的成员变量时,可能会导致线程安全问题和错误。您可以在每个线程中使用互斥锁来控制对共享数据的访问,确保同时只有一个线程可以修改它。由于没有同步机制,一个线程可能在另一个线程正在修改CString的同时读取该字符串,导致数据损坏或错误的结果。多个线程同时写入数据时,可能会发生竞态条件,其中写入操作的顺序无法预测,从而导致结果不一致。在MFC中,您可以使用。
2023-08-21 10:10:16
208
1
原创 以前开发MFC界面如何快速转成QT界面
另外,值得一提的是,如果你的MFC项目已经具有较大的规模和复杂性,可能考虑从头开始使用Qt进行重写会更有效和可维护。将MFC界面快速转换为Qt界面可能需要进行一些手动工作,因为MFC和Qt是两个不同的界面框架,它们具有不同的设计和实现原理。添加功能和逻辑:根据需要,将MFC界面中的功能和逻辑转换为对应的Qt代码。转移资源:将MFC界面中使用的图标、图片和其他资源文件复制到Qt项目中,并在Qt代码中进行相应的调整。进行测试和调试:在完成界面转换后,进行测试和调试以确保界面的功能和外观与原始MFC界面一致。
2023-05-16 19:59:39
2687
原创 韩语或者朝鲜语言;MFC下,unicode读取成功;电脑安装朝鲜语言才可以
String id="MainPage-0-0-J">MESシステム接?成功</String><String id="MainPage-0-0-C">MES系?接成功</String>MFC下,unicode读取成功;电脑安装朝鲜语言才可以。
2023-05-14 20:40:29
150
原创 修改节点保存
int main()if (!loadOkay)return 1;if (!root)return 1;break;return 0;
2023-05-13 23:45:38
56
cximage702-full,unicode lib
2023-05-12
模式识别代码MATLAB,想学习的赶紧了
2010-12-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人