baihongyu.com
博客
关于我
c++学习【解惑】——源文件和头文件
C++开发实践指南:头文件的核心作用在C++开发中,头文件(.h文件)是程序员的重要利器。它不仅仅是一个简单的文本文件,更是代码复用与代码管理的灵魂所在。本文将从基础到深度,揭示头文件的真正价值与使用方法。1.C++编译模式的基础C++语言的独特之处在于其支持“分开编译”(separatecompilation)的模式。一个大型项目通常由多个.cpp文件组成,每个文件都包含特定的代码逻辑。这种模式......
阅读量:
798 次
2023-04-15
Meta发布首个「非参数化」掩码语言模型NPM:吊打500倍参数量的GPT-3
视学算法:Meta发布首个非参数化掩码语言模型NPM近年来,大型语言模型在自然语言处理领域取得了显著进展,但其训练成本高昂、难以更新,同时在处理长尾知识和罕见短语方面表现欠佳。这些模型通常采用预测层中的softmax层,限制了其输出词汇的多样性。为了解决这些问题,研究人员联合提出了一种新型模型——非参数化掩码语言模型(NonParametricMaskedlanguagemodel,NPM)。NP......
阅读量:
799 次
2023-04-15
Opencv学习笔记(c++)——基本常用函数及一些图像处理基本方法
OpenCV基础知识学习OpenCV是一个充满乐趣的过程,尤其是当你深入了解其各种功能时。以下是一些常用的OpenCV函数和类,帮助你在图像处理中完成多种任务。1.点的表示在OpenCV中,Point类用于表示图像中的一个点。点的坐标可以用Point::x和Point::y获取或设置。例如:Pointpoint(10,20);cout<<point.x<<",&q......
阅读量:
798 次
2023-04-15
OPPO造芯的最后18分钟:CEO数次低头哽咽,3000人团队原地解散
OPPO芯片部门的解散引发了广泛关注。这一事件不仅对OPPO内部员工来说是一场沉重的打击,更为整个芯片行业带来了深刻的思考。OPPO芯片部门的成立与发展2019年8月,OPPO旗下成立了专注于芯片研发的全资子公司——“哲库”。该部门自成立以来,迅速发展成为一个拥有3000名工程师的专业团队。2019年,他们推出了第一款自研芯片——影像专用神经处理单元(NPU)芯片马里亚纳MariSiliconX,......
阅读量:
799 次
2023-04-15
vs2010-MFC事件处理程序无法添加或属性参数无效的解决方法
在实际使用VisualStudio进行MFC编程时,可能会遇到无法正常添加事件处理程序的问题。这样的情况通常表明VisualStudio无法正确识别或映射相关代码文件。以下是一些常见问题及解决方法:点击工具栏中的工具,进入项目的属性设置界面。然后选择【选项】卡,进入更详细的设置。在【文本编辑器】下,依次进入【C/C++】→【高级】选项卡。在【引用】选项卡中,将"箭头"处的设置更......
阅读量:
798 次
2023-04-15
c++虚析构函数的作用
虚析构函数在C++中扮演着重要的角色,主要用于解决内存泄漏问题,尤其是在继承关系中。以下是虚析构函数的详细解释和作用:虚析构函数的作用:避免内存泄漏:当用基类的指针指向派生类的对象时,若基类的析构函数不是虚函数,直接调用基类的析构函数会导致派生类对象未被释放,引发内存泄漏。确保子对象的析构函数被调用:通过声明基类的析构函数为虚函数,确保在删除基类指针时,首先调用派生类的析构函数,从而释放派生类的成......
阅读量:
798 次
2023-04-15
PyTorch 多机多卡训练:DDP 实战与技巧
PyTorch多机多卡DDP加速实践指南PyTorch的多机多卡分布式训练(DDP)技术,能够显著提升训练效率。以下是基于实践总结的一系列优化技巧和实现方案。1.SyncBN引入与性能优化SyncBN的核心作用BatchNormalization(BN)在深度学习中扮演着重要角色。然而,在多卡训练环境下,传统BN存在性能瓶颈。PyTorch提出的SyncBN(SyncBatchNormalizat......
阅读量:
799 次
2023-04-15
OpenCV学习笔记之十一——霍夫变换(霍夫线变换,霍夫圆变换)
霍夫变换与霍夫圆变换技术详解一、霍夫变换概述霍夫变换是一种图像处理技术,广泛应用于直线检测、曲线识别等领域。其核心思想是在参数空间中通过累加运算找到符合特定形状的曲线集合。霍夫变换最初由PaulHough提出,后经RichardDuda和PeterHart的改进,逐渐发展成为用于多种形状识别的重要工具。1.1霍夫线变换霍夫线变换专注于直线检测,适用于边缘二值图像。OpenCV提供三种霍夫线变换:标......
阅读量:
798 次
2023-04-15
OpenCV基础——IplImage中的widthStep
IplImage中width和widthStep属性的理解在处理IplImage图像时,width和widthStep两个属性的理解对于避免错误至关重要。width表示图像的每行像素数,而widthStep则表示存储一行像素所需的字节数。这两个属性的设置直接影响图像数据的存储效率和处理性能。widthStep的重要性在于它必须是4的倍数,这样可以确保数据对齐,从而提高处理速度。在OpenCV中,w......
阅读量:
798 次
2023-04-15
Prewitt算子边缘检测原理及实现
Prewitt算子:图像边缘检测与噪声抑制的双重作用Prewitt算子是一种经典的图像处理算法,主要用于边缘检测和噪声抑制。作为一种一阶微分算子,它通过分析图像像素的灰度变化,识别图像的边缘。与Roberts算子相比,Prewitt算子在处理噪声方面表现更优,但在边缘精度上稍逊一筹。Prewitt算子的原理Prewitt算子的核心在于其卷积核设计。算子的两个主要方向分别为水平和垂直边缘检测。具体来......
阅读量:
798 次
2023-04-15
C++_Primer第五版—第八章—练习8.13—使用ostringstream
<div></div><div></div><body><div></div><h1>C++程序解析电话号码信息</h1><div></div><p>本文将展示一个使用C++编写的程序,该程序用于解析电话号码信息。程序的主要功能包括读取文本文件、解析联系人......
阅读量:
798 次
2023-04-15
EasyPR源码精析(2)——车牌定位之倾斜扭转
车牌倾斜矫正方法与实现车牌识别系统中,倾斜矫正是提升识别准确率的关键步骤。本文将详细介绍车牌倾斜矫正的实现方法,包括多个核心功能函数的实现流程和代码解析。实现流程概述车牌倾斜矫正的实现流程如下:颜色匹配旋转角度判断判断车牌区域的旋转角度是否在60°范围内,是则进入下一步处理,否则直接忽略该车牌区域。安全矩阵计算调用calcSafeRect函数,计算车牌区域的安全矩阵,确保车牌区域不会超过图像边界。......
阅读量:
798 次
2023-04-15
OpenCV学习笔记之十——图像金字塔(高斯金字塔,拉普拉斯金字塔、图片尺寸缩放)
图像金字塔与OpenCV中的采样操作图像金字塔是图像处理中一个重要的概念,主要用于多尺度表达和图像分割。它通过多分辨率的图像层次来解释图像的细节,广泛应用于图像压缩、放大、缩小以及特征提取等任务。图像金字塔的基本概念图像金字塔由多个分辨率的图像层组成,底部为原始图像的高分辨率表示,而上方逐层分辨率降低。每一层可以看作是下一层的金字塔形状,通过向下采样生成。向下采样是指将图像在每个维度上缩小一半,丢......
阅读量:
798 次
2023-04-15
色彩转换系列之RGB格式与YUV格式互转原理及实现
YUV与RGB色彩空间转换技术分析YUV是一种广泛应用于视频编码和传输的色彩空间表示方法,与常见的RGB色彩模型相比,具有显著的优势。作为彩色电视系统的核心,YUV通过分离亮度信号和色度信号,实现了视频信号的高效传输。本文将深入探讨YUV与RGB之间的转换方法及其优化技术。YUV与RGB的基本关系YUV色彩模型由亮度信号Y和两个色度信号U、V组成,其中:Y:表示明亮度(Luminance),对应灰......
阅读量:
798 次
2023-04-15
2019年回顾及总结
2019年的回顾与展望过去一年的点滴总结在2019年,我对自己的成长和生活进行了深刻的反思和总结。在思想、技术、科研、工作等多个方面,既有收获,也有不足。这些经历让我更加清楚自己的短板,也让我对未来有了更清晰的规划。一、思想与习惯的改进在思想和习惯方面,我意识到自己在自律和持续改进方面还有很大的提升空间。过去的我常常因为追求便利而放松自我,对学习和提升的态度不够严谨。通过阅读罗振宇的文章,我对&q......
阅读量:
798 次
2023-04-15
图像缩放中的插值算法——最近邻插值算法及c++实现
图像缩放是计算机图形学中一个基础且重要的操作,常用于调整图像尺寸以适应不同显示设备或应用需求。本文将详细介绍图像缩放的原理及其常用算法。1.图像缩放的基本原理图像缩放可以通过以下两种方式实现:放大和缩小。传统绘画工具中的“放大尺”可以帮助艺术家手动调整图像尺寸,但随着计算机技术的发展,自动化图像缩放已成为主流。在计算机中,图像通常以像素矩阵形式存储,每个像素由特定坐标(x,y)确定。图像缩放的核心......
阅读量:
798 次
2023-04-15
OpenCV学习笔记之九——边缘检测(Canny算子,Sobel算子,Laplace算子,Scharr滤波)
OpenCV边缘检测与图像变换技术感谢@浅墨_毛星云的博客和书籍《OpenCV3.0编程入门》,我通过学习这些内容整理了本篇笔记及心得。由于自身水平有限,欢迎交流与指正。Canny算子基本原理Canny算子是一种用于边缘检测的算法,通过计算图像的梯度来检测边缘。其核心思想是对图像进行滤波,提取强边缘,并通过双阈值分离背景噪声和真实边缘。函数详情C++实现如下:voidCanny(InputArra......
阅读量:
798 次
2023-04-15
读研投小论文感想与总结(一)
红外弱小目标检测投稿经历与感悟作为一名即将毕业的研究生,我在过去两年投稿经历了六次,经历了被拒四次,终于在2019年成功投中《红外技术》。这个过程让我深刻理解了科研道路的艰辛,也让我积累了宝贵的经验。以下是我对这段经历的总结和思考。投稿次数与结果总投稿次数:6次拒稿次数:4次接收次数:2次我的投稿覆盖了CSCD核心库、北大中文核心等多个层级期刊,其中《红外技术》是我最满意的投稿结果。这不仅是对我努......
阅读量:
798 次
2023-04-15
win10下安装Ubuntu16.04双系统——详细步骤
Win10下安装与卸载Ubuntu16.04的完整指南在Win10环境下操作Ubuntu系统时,许多用户会遇到卸载失败的问题。传统的MbrFix、EasyBCD等工具在UEFI模式下已无法有效使用,因为这些工具主要针对Legacy模式下的双系统配置。UEFI模式的普及使得传统卸载方法失效,以下将详细介绍如何在UEFI模式下正确卸载Ubuntu,并提供安装指导。一、确定系统模式在开始操作前,首先需要......
阅读量:
798 次
2023-04-15
机器学习——ANN(BP神经网络)
反向传播算法与BP网络简介反向传播算法(Backpropagation,BP算法)是多层感知器(MLP)训练中最常用的方法。其核心思想是通过两步迭代:前向传播和反向传播,逐步优化网络参数,最终达到模型性能的最佳状态。在本文中,我们将以三层感知器(即包含一个隐藏层的网络)为例,详细介绍BP算法的实现过程。信息前向传播在BP网络中,前向传播是指从输入层到输出层依次计算每一层的激活值。具体来说,假设网络......
阅读量:
798 次
2023-04-15
上一页
下一页