<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[saoys的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/saoys</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; saoys]]></copyright><item><title><![CDATA[Opencv 学习笔记：腐蚀操作 + 轮廓标记 + 分水岭分割]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/158384319</link><guid>https://blog.youkuaiyun.com/saoys/article/details/158384319</guid><author>saoys</author><pubDate>Wed, 25 Feb 2026 13:23:57 +0800</pubDate><description><![CDATA[本文提出了一种基于腐蚀操作与分水岭算法的图像分割全流程方法。该方法首先通过腐蚀操作去除小噪点并强化前景轮廓，随后进行轮廓检测和标记，最后利用分水岭算法完成图像分割。文章详细解析了核心API的使用要点，包括腐蚀核参数选择、轮廓标记值设置以及数据类型匹配等关键细节，并提供了完整的代码实现。实验结果表明，该方法能有效实现图像分割，特别强调了腐蚀预处理对分水岭算法性能提升的重要作用。该方法流程清晰，可直接复用，适合图像处理初学者参考实践。]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：距离变换（DIST_L1 算法实战 + 归一化）]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/158379881</link><guid>https://blog.youkuaiyun.com/saoys/article/details/158379881</guid><author>saoys</author><pubDate>Wed, 25 Feb 2026 09:15:09 +0800</pubDate><description><![CDATA[本文介绍了OpenCV中距离变换的核心流程及其应用要点。距离变换用于计算前景像素到最近背景像素的距离，是图像分割和前景提取的重要预处理技术。文章以DIST_L1（曼哈顿距离）为例，详细讲解了从图像读取、灰度转换、二值化到距离变换的全过程，重点强调了归一化的关键作用（将距离值缩放到[0,1]范围）和显示转换的必要性（float32转uint8）。同时对比分析了不同距离类型的特点，指出DIST_L1计算速度最快且无需浮点运算。最后总结了距离变换的使用要点：必须输入单通道二值图，归一化是必备步骤，显示前需进行数据]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：图像卷积操作（锐化核实战 + 数据类型避坑）]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/158037220</link><guid>https://blog.youkuaiyun.com/saoys/article/details/158037220</guid><author>saoys</author><pubDate>Fri, 13 Feb 2026 10:49:34 +0800</pubDate><description><![CDATA[本文介绍了使用OpenCV实现图像卷积锐化的完整流程。通过定义3x3锐化卷积核（中心像素权重5，周围-1），调用cv.filter2D()函数进行卷积运算。重点讲解了数据类型转换的关键步骤：将uint8图像转为float32并归一化到[0,1]以避免数值溢出，处理后再转回uint8格式显示。文章还提供了常见卷积核（模糊、边缘检测、浮雕）的扩展示例，并指出卷积操作是图像处理的基础方法，只需更换卷积核即可实现不同效果。该教程包含完整代码实现和避坑要点，适合OpenCV新手直接复用。]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：基于图像变换 + 分水岭的图像分割（背景去除入门）]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/158006385</link><guid>https://blog.youkuaiyun.com/saoys/article/details/158006385</guid><author>saoys</author><pubDate>Thu, 12 Feb 2026 13:20:59 +0800</pubDate><description><![CDATA[本文介绍了基于手动背景去除的图像分割方法，结合分水岭算法实现前景与背景分离。首先通过遍历像素判断白色背景（RGB=255,255,255）并将其转为黑色，保留前景像素。然后采用分水岭算法进行进阶分割，包括距离变换获取前景种子点、标记连通域等步骤。文章重点解析了像素遍历优化、背景判断逻辑、分水岭算法流程等核心知识点，并修复了原代码中的索引跳步问题。该方法适用于白色背景的目标分割场景，通过预处理可显著提升分割准确率，为图像分割初学者提供了实用技术路线。]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：指定路径上亮暗像素交界点检测（鼠标交互版）]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/157973188</link><guid>https://blog.youkuaiyun.com/saoys/article/details/157973188</guid><author>saoys</author><pubDate>Wed, 11 Feb 2026 13:21:28 +0800</pubDate><description><![CDATA[本文提出一种基于鼠标交互的路径亮暗交界检测方法，通过结合鼠标绘制路径、路径像素遍历和亮暗交界检测技术，实现指定路径上的精准边缘定位。系统采用OpenCV实现，主要流程包括：1)鼠标交互绘制自定义路径；2)二值化处理提取路径像素坐标；3)遍历路径检测相邻像素差值，当差值为255时判定为白到黑交界点；4)用绿色实心圆标注检测结果。文章详细解析了核心代码实现，包括全局变量管理、索引越界防护等优化措施，并说明了二值化阈值、交界判定值等关键参数设置。该方法适用于工业视觉检测、图像分析和交互标注等场景，具有操作直观、检]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：像素亮暗交界点检测 + 鼠标交互操作]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/157973153</link><guid>https://blog.youkuaiyun.com/saoys/article/details/157973153</guid><author>saoys</author><pubDate>Wed, 11 Feb 2026 13:18:34 +0800</pubDate><description><![CDATA[本文整合了图像处理中像素亮暗交界点检测与鼠标交互绘图两大实用功能。通过OpenCV实现：1）基于二值化和相邻像素差值计算快速定位亮暗交界点，并加入索引越界防护；2）通过鼠标回调函数处理点击、拖拽和松开事件，实现交互式标注。两个功能可结合使用，适用于边缘检测、缺陷标注等场景。文中详细解析了核心代码逻辑，包括二值化阈值调整、像素差值判断、鼠标事件处理等关键点，并修复了原代码中的索引越界和事件标志错误，为图像分析任务提供了可直接复用的解决方案。]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：提取轮廓中心点坐标（矩计算法）]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/157728804</link><guid>https://blog.youkuaiyun.com/saoys/article/details/157728804</guid><author>saoys</author><pubDate>Wed, 04 Feb 2026 13:38:22 +0800</pubDate><description><![CDATA[本文介绍了使用OpenCV图像矩(cv.moments())精准计算轮廓中心点的方法。通过高斯滤波去噪、二值化预处理后，使用findContours获取轮廓，遍历每个轮廓计算图像矩，利用m10/m00和m01/m00公式求解中心点坐标，并用圆形标注可视化。关键点包括：1)必须判断M[&quot;m00&quot;]不为零以避免除零错误；2)遍历所有轮廓而非固定索引；3)可根据需求调整二值化阈值。该方法实现了轮廓中心点的批量计算与可视化，适用于目标定位和尺寸测量等应用场景。]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：图像旋转 + 模板匹配（解决旋转目标定位问题）]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/157728768</link><guid>https://blog.youkuaiyun.com/saoys/article/details/157728768</guid><author>saoys</author><pubDate>Wed, 04 Feb 2026 13:36:25 +0800</pubDate><description><![CDATA[本文提出一种基于图像旋转和循环模板匹配的旋转目标定位方法。通过遍历0-360度旋转角度，在每个角度下执行模板匹配，解决了目标图像存在旋转偏差时的定位问题。关键实现包括：正确设置旋转中心坐标、匹配参数顺序和匹配框尺寸，避免常见错误；采用归一化匹配算法提高鲁棒性；实时显示旋转和匹配过程。优化建议包括：分步长匹配提高效率、设置匹配度阈值筛选结果、限定旋转范围减少计算量。该方法适用于存在角度偏差的目标定位场景，可直接复用且效果稳定。]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：轮廓筛选 + 拟合（边界框 / 最小矩形 / 包围圆）]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/157386338</link><guid>https://blog.youkuaiyun.com/saoys/article/details/157386338</guid><author>saoys</author><pubDate>Mon, 26 Jan 2026 09:35:52 +0800</pubDate><description><![CDATA[本文介绍了轮廓分析中目标轮廓的筛选与拟合方法。通过预处理（去噪、边界填充、二值化）后，利用contour.size筛选合适轮廓（90-10000像素范围），并演示了三种拟合方式：边界矩形（轴对齐）、最小面积矩形（旋转对齐）和最小包围圆。关键点包括：1）边界填充避免边缘轮廓断裂；2）尺寸阈值需根据图像分辨率调整；3）不同拟合方式适用不同形状目标。代码实现了从图像处理到轮廓筛选、拟合及可视化的完整流程，为精准目标定位提供了实用方案。]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：轮廓发现（提取 + 绘制全流程）]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/157386282</link><guid>https://blog.youkuaiyun.com/saoys/article/details/157386282</guid><author>saoys</author><pubDate>Mon, 26 Jan 2026 09:34:06 +0800</pubDate><description><![CDATA[本文介绍了使用OpenCV进行图像轮廓发现的核心流程，包括高斯滤波去噪、二值化处理、轮廓提取和可视化绘制。重点讲解了findContours和drawContours函数的关键参数设置，如RETR_TREE检索模式和CHAIN_APPROX_SIMPLE轮廓压缩方法。文章还提供了优化技巧，包括二值化阈值调整、轮廓筛选和图像复制保护原始数据等实用建议，为初学者提供了可直接复用的完整代码实现方案。]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：多模板匹配（多目标定位 + 重复框过滤）]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/157254137</link><guid>https://blog.youkuaiyun.com/saoys/article/details/157254137</guid><author>saoys</author><pubDate>Thu, 22 Jan 2026 14:48:15 +0800</pubDate><description><![CDATA[本文介绍了多模板匹配的实现方法，该方法可定位图像中多个相同模板目标。核心流程包括：匹配计算、阈值筛选、坐标转换、重复过滤和结果绘制。重点修复了原代码的关键错误：参数顺序颠倒、匹配框尺寸错误和重复过滤逻辑缺陷。优化建议包括调整匹配阈值、批量处理模板、图像缩放提升效率等。该方法通过归一化相关系数匹配算法，结合间距阈值过滤重复框，实现了准确的多目标定位，代码可直接复用。]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：列表筛选（查找满足指定间距的数值）]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/157254055</link><guid>https://blog.youkuaiyun.com/saoys/article/details/157254055</guid><author>saoys</author><pubDate>Thu, 22 Jan 2026 14:45:09 +0800</pubDate><description><![CDATA[本文演示了如何从数值列表中筛选出间距≥80的元素。通过将字符串转为整数后计算绝对间距，先标记不符合条件的元素为None，最后统一删除。关键点包括：类型转换、间距计算、标记删除和索引越界处理。代码可优化为通用函数，适用于图像处理、数据清洗等场景。核心思路是先标记后删除，避免遍历时修改列表导致的索引问题。该方法简单高效，适合处理中小规模数据筛选需求。]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：单模板匹配（6 种算法 + 目标精准定位）]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/157170637</link><guid>https://blog.youkuaiyun.com/saoys/article/details/157170637</guid><author>saoys</author><pubDate>Tue, 20 Jan 2026 09:33:50 +0800</pubDate><description><![CDATA[本文介绍了使用OpenCV实现单模板匹配的完整流程，涵盖6种匹配算法（平方差、相关性和相关系数三类）。重点讲解了归一化相关系数算法(TM_CCOEFF_NORMED)的优势，详细说明了匹配参数顺序、结果定位和绘制匹配框等核心步骤。文章特别指出：匹配框尺寸应取模板尺寸，归一化算法具有更好的鲁棒性，并根据不同算法类型（平方差类看最小值，相关类看最大值）确定最佳匹配位置。代码可直接复用，适合OpenCV新手快速掌握模板匹配技术。]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：手动绘制彩色图像的 RGB 通道直方图]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/157170567</link><guid>https://blog.youkuaiyun.com/saoys/article/details/157170567</guid><author>saoys</author><pubDate>Tue, 20 Jan 2026 09:31:18 +0800</pubDate><description><![CDATA[本文介绍了使用OpenCV手动绘制彩色图像BGR三通道直方图的方法。通过自定义函数calcanddrawhist()实现直方图计算与可视化，核心步骤包括：使用cv.calcHist()统计像素分布，归一化处理后，用cv.line()在256×256画布上绘制垂直线条。主程序拆分BGR通道后分别调用该函数绘制直方图，并建议通过通道颜色与线条颜色对应增强可读性。文章还提供了归一化处理、合并显示、灰度图处理等优化技巧，帮助新手理解直方图的计算原理与可视化逻辑。]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：直方图均衡化（灰度 / 彩色图像二值化优化）]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/157138342</link><guid>https://blog.youkuaiyun.com/saoys/article/details/157138342</guid><author>saoys</author><pubDate>Mon, 19 Jan 2026 16:31:36 +0800</pubDate><description><![CDATA[本文介绍了使用OpenCV实现直方图均衡化的方法。针对灰度图像可直接调用cv.equalizeHist()函数处理，而彩色图像需要先拆分BGR三通道分别均衡化后再合并。关键点包括：灰度图直接处理可提升整体对比度；彩色图需分通道处理避免颜色失真；光照不均时建议使用自适应均衡化CLAHE。文中提供了完整的代码实现，并对比展示了处理前后的效果，帮助读者快速掌握这一图像增强技术。]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：remap 实现图像映射（缩放 / 对称 / 旋转）]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/157138286</link><guid>https://blog.youkuaiyun.com/saoys/article/details/157138286</guid><author>saoys</author><pubDate>Mon, 19 Jan 2026 16:29:43 +0800</pubDate><description><![CDATA[本文介绍了OpenCV中图像映射(remap)的基本原理和实现方法。通过创建float32类型的映射矩阵(img_x,img_y)定义像素坐标变换规则，可实现图像缩放、镜像对称和旋转等效果。文章提供了四种典型映射效果的实现代码，包括缩小一半、左右对称、上下对称和180度旋转，并详细解释了每种效果的数学原理。关键知识点包括：映射矩阵必须为float32类型，建议使用线性插值保证平滑效果，以及如何优化映射矩阵的生成效率。最后总结了remap的核心是自定义像素坐标映射规则，并给出了常见效果的实现公式。]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：霍夫变换实现图像中圆的精准检测与绘制]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/157022132</link><guid>https://blog.youkuaiyun.com/saoys/article/details/157022132</guid><author>saoys</author><pubDate>Fri, 16 Jan 2026 10:59:18 +0800</pubDate><description><![CDATA[本文介绍了基于OpenCV霍夫圆变换（HoughCircles）的圆形目标检测方法。通过读取灰度图像，设置关键参数（dp、minDist、param1/2、半径范围等）进行圆检测，并将结果绘制在彩色图像上。重点解析了参数调优技巧，包括检测阈值param2和圆心间距minDist的调整策略，以及如何通过预处理（如高斯滤波）减少噪声干扰。文章还提供了避免空值异常、坐标取整等实用技巧，帮助开发者快速实现精准的圆形检测。该方法适用于工业检测、目标识别等需要定位圆形目标的场景。]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：边缘检测 + 霍夫变换精准查找直线]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/157022086</link><guid>https://blog.youkuaiyun.com/saoys/article/details/157022086</guid><author>saoys</author><pubDate>Fri, 16 Jan 2026 10:57:35 +0800</pubDate><description><![CDATA[本文提出一种基于Canny边缘检测、形态学闭运算和霍夫变换的直线提取方法。首先通过Canny算法检测图像边缘，再使用闭运算优化边缘连接性，最后采用概率霍夫变换检测直线。实验结果表明，该方法能有效提取图像中的直线特征，并通过参数调整可优化检测效果。关键参数包括Canny阈值、闭运算核尺寸以及霍夫变换的直线长度和间隙阈值。该方法适用于工业检测、文档分析等需要精确直线提取的场景，具有较高的实用性和复用价值。]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：循环读取文件夹中图片并动态展示]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/156979314</link><guid>https://blog.youkuaiyun.com/saoys/article/details/156979314</guid><author>saoys</author><pubDate>Thu, 15 Jan 2026 09:23:09 +0800</pubDate><description><![CDATA[本文介绍了一个简洁高效的Python脚本，用于批量处理文件夹中的图像文件。通过OpenCV库实现自动遍历指定目录、读取图片并按1秒间隔展示的功能。代码核心包括：使用os.listdir遍历文件，cv.imread读取图片，cv.waitKeyEx控制显示时长，并添加了非图片文件过滤和按键中断功能。文章还提供了优化建议：使用os.path.join提升路径兼容性，支持按后缀名过滤，以及扩展为批量预处理的方法。该脚本适合图像预览、批量处理等场景，具有代码简洁、可扩展性强等特点。]]></description><category></category></item><item><title><![CDATA[Opencv 学习笔记：图像金字塔实现上采样（pyrUp）与降采样（pyrDown）]]></title><link>https://blog.youkuaiyun.com/saoys/article/details/156979279</link><guid>https://blog.youkuaiyun.com/saoys/article/details/156979279</guid><author>saoys</author><pubDate>Thu, 15 Jan 2026 09:21:28 +0800</pubDate><description><![CDATA[本文介绍了使用OpenCV实现图像上采样(pyrUp)和降采样(pyrDown)的基础操作。上采样将图像尺寸翻倍放大，降采样则减半缩小，两者都基于高斯金字塔实现。关键点包括：降采样不可逆且会丢失细节，同时具有轻微去噪效果；图像尺寸最好为2的幂次；pyrDown会先进行高斯滤波。文章还提供了扩展技巧，如使用cv.resize()进行精确尺寸调整、嵌套调用实现多次采样等。这些基础操作适用于图像放大、降噪等场景，是图像处理中的重要技术。]]></description><category></category></item></channel></rss>