- 博客(20)
- 收藏
- 关注
原创 colmap ninja 时遇到undefined reference to `TIFFFieldTag@LIBTIFF_4.0‘错误
本文解决了一个在编译 Colmap 时遇到的问题,即因 Anaconda 环境导致 libfreeimage 与 libtiff 版本不匹配而产生的链接错误。
2025-01-21 16:52:07
441
原创 [OpenCV] 数字图像处理 C++ 学习——18轮廓发现详细讲解+附完整代码
轮廓发现是图像处理中一个重要的操作,可以帮助找到图像中的边界并识别物体的形状。在 OpenCV 中,函数可以用来检测图像中的轮廓,广泛应用于图像分割、形状分析、物体检测等场景。本篇文章将详细介绍如何在 OpenCV 中实现轮廓发现,并通过完整的 C++ 代码示例进行演示。
2024-10-27 23:13:43
1512
原创 [OpenCV] 数字图像处理 C++ 学习——17模板匹配详细讲解+附完整代码
模板匹配是图像处理和计算机视觉领域中的一种经典技术,它通过在大图像中搜索与小图像(模板)匹配的位置来实现目标检测和定位。OpenCV 提供了简单易用的 cv::matchTemplate 函数来实现模板匹配,本篇博客将详细讲解模板匹配的原理、使用方法,并结合完整的 C++ 代码来演示如何实现模板匹配。
2024-10-21 00:33:34
2749
原创 [OpenCV] 数字图像处理 C++ 学习——16直方图均衡化、直方图比较 详细讲解+附完整代码
直方图是描述图像像素值分布的重要工具,它能够帮助我们分析图像的对比度、亮度和动态范围等信息。通过直方图的比较,我们可以衡量不同图像之间的相似度,从而在图像检索、匹配等应用中发挥重要作用。本篇博客将详细介绍直方图均衡化、四种常见的直方图比较方法——相关性(Correlation)、卡方(Chi-Square)、交叉性(Intersection)和巴氏距离(Bhattacharyya),并附完整的 C++ 代码示例直方图是用来表示图像中每个灰度级别像素数量的分布图。
2024-09-22 22:27:06
4221
原创 [OpenCV] 数字图像处理 C++ 学习——15像素重映射(cv::remap) 附完整代码
像素重映射将图像中的每个像素映射到新位置,实现图像的扭曲、校正等操作。在 OpenCV 中,函数就是用于实现这种功能的。本文将详细介绍像素重映射的基本原理以及在 OpenCV 中的实现方法,并给出完整代码。
2024-09-16 22:10:22
3001
原创 [OpenCV] 数字图像处理 C++ 学习——14霍夫变换直线、圆检测 附完整代码
霍夫变换是一种有效的检测图像中的几何形状(如直线、圆等)的算法。霍夫变换通过将几何形状的检测问题转化为参数空间的问题,能够在噪声较大的图像中有效地检测出目标。本文将详细介绍霍夫变换的原理,直线检测和圆检测的实现方法,并提供完整的 Opencv的C++ 代码示例。
2024-09-11 12:51:54
1876
原创 [OpenCV] 数字图像处理 C++ 学习——13Canny边缘检测 附完整代码
Canny 边缘检测(高斯滤波、梯度计算、非极大值抑制、双阈值检测、边缘跟踪)是经典的边缘检测算法之一,本文将详细介绍 Canny 边缘检测的理论基础、实现方法,并提供完整的 C++ 代码示例。
2024-09-03 23:36:46
1919
1
原创 [OpenCV] 数字图像处理 C++ 学习——12处理边缘 附完整代码
卷积和滤波需要在图像的边缘像素附近进行计算。由于边缘像素缺乏完整的邻域,就引发了一个重要问题:如何处理图像边缘以确保卷积核在边缘处也能正常应用。OpenCV 提供了多种边缘处理方法来决定如何对待图像边缘之外的区域。在本文中,将介绍几种常用的边缘处理方法,并通过代码示例演示如何在 OpenCV 中实现这些操作。提供完整的代码示例,以便学习使用。
2024-09-01 23:24:16
1669
原创 [OpenCV] 数字图像处理 C++ 学习——11自定义线性滤波 附完整代码
线性滤波用于去噪、平滑、边缘检测等操作。通过定义卷积核(算子)与图像进行卷积,线性滤波器可以有效地提取图像中的特定特征。本文将介绍几种常见的边缘检测算子,包括 Robert算子、Sobel 算子和拉普拉斯算子,并展示如何在 OpenCV 中实现这些滤波器的自定义操作。将提供完整的代码,以便学习使用。
2024-09-01 15:08:59
3278
原创 [OpenCV] 数字图像处理 C++ 学习——10基本阈值处理 附完整代码
在数字图像处理领域,阈值处理是最基本、最常用的技术之一。阈值处理通过将图像的像素值与指定的阈值进行比较,将图像分割为前景和背景,从而突出图像中的重要特征。这种技术广泛应用于图像分割、目标检测、图像二值化等任务中。在本篇博客中,我们将详细介绍基本的阈值处理方法,包括简单阈值和自适应阈值,并通过代码示例展示如何在 OpenCV 中实现这些操作。
2024-08-30 22:19:19
1773
原创 [OpenCV] 数字图像处理 C++ 学习——09图像金字塔上采样(PyrUp)和降采样(PyrDown) 附完整代码
本博客主要学习图像金字塔技术中的上采样和降采样操作。这些操作用于改变图像的分辨率,是多尺度图像处理的基础。通过上采样(拉普拉斯金字塔)可以放大图像,恢复或接近原始图像,而降采样(高斯金字塔)可以缩小图像,减少图像的细节,从而降低图像处理的计算复杂度。本博客将详细讲解上采样和降采样的原理,并提供完整的实现代码,通过具体示例来展示这些操作的实际效果。
2024-08-29 09:58:10
1657
原创 [OpenCV] 数字图像处理 C++ 学习——08形态学操作 附完整代码
在opencv图像处理(c++)中,形态学操作是一种基于形状的图像处理方法,广泛应用于二值图像的分析和处理,如噪声去除、物体检测、边缘提取等。本篇博客将详细介绍形态学操作的理论知识和几种常见的形态学操作,包括腐蚀、膨胀、开运算、闭运算、梯度、顶帽和黑帽操作。每种操作都会附上具体的实现代码,并展示其处理前后的效果图,最后附上完整代码以便学习使用。
2024-08-26 00:56:35
1946
原创 [OpenCV] 数字图像处理 C++ 学习——07图像模糊 附完整代码(小白入门篇)
图像模糊是图像处理中非常常见的操作之一,用于减少图像中的噪声和细节,使图像看起来更加平滑。OpenCV 提供了多种模糊技术,如均值模糊、高斯模糊、中值模糊和双边滤波等。本篇博客将介绍几种常用的图像模糊方法,并通过代码示例演示如何在 OpenCV 中实现这些方法,最后附上完整代码以便学习使用。
2024-08-24 00:28:01
1739
原创 [OpenCV] 数字图像处理 C++ 学习——06绘制形状与文字 附完整代码(小白入门篇)
在图像处理中,绘制几何形状和文字是非常常见的操作。OpenCV 提供了一系列函数,如 cv::line、cv::rectangle、cv::circle和 cv::putText,可以方便地在图像上绘制各种形状和文字。本篇博客将介绍如何使用 OpenCV 中的 cv::Point 和 cv::Scalar等类来绘制线、矩形、圆、椭圆等几何形状,以及如何在图片上绘制文本。
2024-08-23 00:24:55
1397
原创 [OpenCV] 数字图像处理 C++ 学习——05图像亮度和对比度调整 附完整代码(小白入门篇)
在图像处理中,调整图像的亮度和对比度是常见的操作,通过这些操作可以改善图像的视觉效果。saturate_cast是 OpenCV 中一个非常实用的函数,用于防止图像像素值在计算过程中溢出或不足。本篇博客将介绍如何使用saturate_cast函数来调整图像的亮度和对比度,并附上完整代码示例。
2024-08-21 23:38:00
1456
原创 《Nature》顶刊发布:ChatGPT的3种方式帮助学术写作(复制粘贴直接使用)
《Nature》最近发布了一篇文章,介绍了三种行之有效的方法,可以极大地提升学术写作能力。从润色学术写作、提升同行评议和优化编辑反馈三个方面进行介绍。下面有中英文的格式,直接复制粘贴使用即可。
2024-08-20 23:19:22
1749
原创 [OpenCV] 数字图像处理 C++ 学习——04图像混合与 addWeighted()使用 附完整代码(小白入门篇)
在opencv中图像混合将两张或多张图像按一定比例融合在一起,从而生成一张新的图像。通过addWeighted函数,可以指定每张图像的权重,从而控制它们在最终图像中的比例。本篇博客将介绍图像混合的基本概念,并附上完整代码示例详细讲解函数的使用。
2024-08-19 23:55:10
734
原创 [OpenCV]数字图像处理C++学习——03Mat对象附完整代码(小白入门篇)
在数字图像处理中,cv::Mat对象作为 OpenCV 的核心类,是进行图像处理工作的基础。在这篇博客中,我们将从小白的角度出发,详细介绍 cv::Mat对象的常用方法及其应用场景,辅以完整的 C++ 代码示例,快速入门 OpenCV 的图像处理。无论你是希望进行简单的图像读取和显示,还是希望掌握更复杂的图像变换与滤波操作,这篇文章都将为你打下坚实的基础。
2024-08-19 08:53:44
1335
原创 [OpenCV]数字图像处理c++学习——02mask矩阵掩膜附完整代码(小白入门篇)
在OpenCV图像处理中,矩阵掩膜(或卷积核)是一个关键概念,它通过在图像的每个像素上应用特定的操作来实现各种效果,如模糊、锐化和边缘检测等。在 OpenCV 中,使用矩阵掩膜可以轻松实现这些操作,并对图像进行定制化的处理。在这篇博客中,我们将介绍矩阵掩膜的基本原理,并通过 C++ 代码示例,展示如何在 OpenCV 中应用矩阵掩膜进行图像处理。
2024-08-18 17:22:26
907
原创 [OpenCV] 数字图像处理 C++ 学习——01图像的读取、加载和保存附完整代码(小白入门篇)
在学习 OpenCV 的过程中,首先需要掌握如何读取(imread)、展示(imshow)和保存(imwrite)图像,这些基本操作是所有图像处理任务的基础。无论是对图像进行滤波、变换、特征提取,还是进行更高级的计算机视觉任务,图像的读取与保存都是不可或缺的第一步。在这篇博客中,我们将详细讲解如何使用 OpenCV 在 C++ 中进行图像的读取、加载和保存操作,并提供完整的代码示例,帮助初学者打下扎实的基础。通过理解并掌握这些基础技能,你将为后续的图像处理和分析工作做好充分的准备。
2024-08-18 16:51:50
1008
深度学习用于气温预测项目代码及分析
2024-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人