<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[噌胥苑——行思驿站]]></title><description><![CDATA[学习、思考、沉淀]]></description><link>https://blog.youkuaiyun.com/eric41050808</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; eric41050808]]></copyright><item><title><![CDATA[基于MediaPipe的静态手势识别实现]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/155428006</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/155428006</guid><author>eric41050808</author><pubDate>Sun, 30 Nov 2025 22:01:58 +0800</pubDate><description><![CDATA[一句话总结静态手势识别的逻辑：首先识别手指是伸出还是收起，哪根手指伸出，一共伸出几根，伸出的手指之间有什么样的位置关系，再由这些位置关系定义具体的手势。]]></description><category></category></item><item><title><![CDATA[MediaPipe关键数据和方法解析]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/155169193</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/155169193</guid><author>eric41050808</author><pubDate>Sun, 23 Nov 2025 22:35:34 +0800</pubDate><description><![CDATA[本文深入解析MediaPipe手部关键点检测的参数配置与结果解析。首先详细介绍了mp_hands.Hands()的核心参数，并针对不同应用场景提供了推荐配置方案。重点解读了multi_handedness（手部偏侧性信息）的数据结构，包含手部分类标签（Left/Right）、置信度评分等关键信息。]]></description><category></category></item><item><title><![CDATA[MediaPipe入门指南]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/154611849</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/154611849</guid><author>eric41050808</author><pubDate>Sun, 09 Nov 2025 16:33:16 +0800</pubDate><description><![CDATA[这篇入门指南作为一个引导，希望能帮助您快速上手MediaPipe，并探索更强大的功能，开启计算机视觉学习应用的开发之旅！]]></description><category></category></item><item><title><![CDATA[OpenCV入门12.2：SURF与SIFT比较及SURF示例]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/141615330</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/141615330</guid><author>eric41050808</author><pubDate>Tue, 27 Aug 2024 23:58:30 +0800</pubDate><description><![CDATA[SURF算法通过这些步骤提供了一种快速且鲁棒的特征点检测和描述方法，使其在许多计算机视觉任务中得到广泛应用。]]></description><category></category></item><item><title><![CDATA[OpenCV入门12.1：角点和特征点概述]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/141615260</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/141615260</guid><author>eric41050808</author><pubDate>Tue, 27 Aug 2024 23:54:41 +0800</pubDate><description><![CDATA[角点是边缘相交的地方，而特征点是图像中独特的、可区分的点，不一定要在边缘相交处。]]></description><category></category></item><item><title><![CDATA[opencv入门1.1：从视频或摄像头读取图像]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/134614523</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/134614523</guid><author>eric41050808</author><pubDate>Sat, 25 Nov 2023 14:58:03 +0800</pubDate><description><![CDATA[cv::VideoCapture是 OpenCV 中用于从视频文件或摄像头捕获图像帧的类。它提供了各种方法和函数，用于读取和处理视频数据。]]></description><category></category></item><item><title><![CDATA[try异常处理机制代码举例]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/134614375</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/134614375</guid><author>eric41050808</author><pubDate>Sat, 25 Nov 2023 14:36:00 +0800</pubDate><description><![CDATA[如果没有匹配的`catch`块，异常会传递到调用栈的上一级，继续寻找匹配的`catch`块，直至找到或者到达程序的入口处，如果没有找到，则程序会异常终止。在`try`块中，异常被抛出后进入到`catch`块中，我们通过`std::exception`类型的引用`e`来捕获异常信息，并打印出来。C++中的异常处理机制通过`try`、`catch`和`throw`关键字实现。总之，`try`块用于标记可能引发异常的代码块，`catch`块用于捕获和处理异常。2. 在`try`块中进行包含可能引发异常的代码。]]></description><category></category></item><item><title><![CDATA[OpenCV入门11：轮廓提取和形状识别]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/134286131</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/134286131</guid><author>eric41050808</author><pubDate>Mon, 13 Nov 2023 08:00:00 +0800</pubDate><description><![CDATA[根据不同形状的特征，使用适当的函数和算法进行识别，并可针对需要的特征进行进一步的处理和分析。通过形状匹配方法，可以将待识别的形状与已知形状进行比较，来确定形状的类别。这些特征可以用于识别不同形状的轮廓。该函数可以帮助你找到图像中的圆形轮廓，并返回识别到的圆形的圆心和半径。使用几何矩方法可以计算轮廓的矩，并利用矩的特征来识别不同的形状，如面积、宽高比、中心距等。除了前面提到的基于多边形逼近的方法外，还有一些常用的形状识别算法可以应用于轮廓识别。该函数可以检测图像中的直线轮廓，并返回检测到的直线的参数。]]></description><category></category></item><item><title><![CDATA[OpenCV入门10：边缘检测]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/134285675</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/134285675</guid><author>eric41050808</author><pubDate>Sun, 12 Nov 2023 08:00:00 +0800</pubDate><description><![CDATA[Canny边缘检测是一种经典的边缘检测算法，它具有较好的边缘定位和抑制噪声的能力。除了以上提到的算法，OpenCV还提供了更多的边缘提取方法和函数，如SobelX/SobelY函数、ScharrX/ScharrY函数等。边缘检测是图像处理中常用的操作，用于检测图像中的边缘或轮廓。Scharr算子是一种改进的Sobel算子，可以提供更加敏锐和准确的边缘检测结果。Laplacian算子是一种二阶微分算子，可以用于检测图像中的边缘。Roberts算子是一种简单的离散差分算子，用于检测图像中的边缘。]]></description><category></category></item><item><title><![CDATA[OpenCV入门9：图像增强和图像滤波]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/134285499</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/134285499</guid><author>eric41050808</author><pubDate>Sat, 11 Nov 2023 08:00:00 +0800</pubDate><description><![CDATA[这些是OpenCV中常用的图像增强方法的示例，包括直方图均衡化、滤波器等。通过图像增强，可以改善图像的对比度、清晰度和质量等方面，提高图像的可视化效果和特征提取的效果。滤波器是一种常用的图像增强方法，通过对图像进行滤波处理来改善图像的质量和特征。高斯滤波是一种常用的线性平滑滤波器，通过计算像素邻域的加权平均值来实现去除噪声的目的。均值滤波是一种简单的线性平滑滤波器，通过计算像素邻域平均值来实现去除噪声的目的。中值滤波是一种非线性平滑滤波器，通过计算像素邻域的中值来实现去除噪声的目的。]]></description><category></category></item><item><title><![CDATA[OpenCV入门8：区域分割和区域生长]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/134285133</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/134285133</guid><author>eric41050808</author><pubDate>Fri, 10 Nov 2023 11:13:31 +0800</pubDate><description><![CDATA[图像均值偏移算法是一种迭代的区域分割算法，它基于像素的颜色空间中的梯度信息，将像素从初始位置移动到颜色空间中的局部极大值，从而实现图像分割。分水岭算法是一种基于图像梯度的区域分割算法，它将图像视为地形图，将明显的梯度边界看作是山峰，从而将图像分割成水流汇聚的不同区域。除了以上提到的算法，OpenCV中还提供了其他一些区域分割算法，如基于聚类的方法、基于边缘的方法等。图割算法是一种基于图论的区域分割算法，它将图像分割问题转化为在图上进行最小割（Minimum Cut）的问题。函数进行基于阈值的分割。]]></description><category></category></item><item><title><![CDATA[OpenCV入门7：图像形态学变换]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/134284913</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/134284913</guid><author>eric41050808</author><pubDate>Thu, 09 Nov 2023 11:04:16 +0800</pubDate><description><![CDATA[开运算和闭运算是形态学操作中常用的组合操作，包括先腐蚀后膨胀（开运算）和先膨胀后腐蚀（闭运算）。开运算可以消除图像中的噪声和细小的斑点，而闭运算可以填充图像中的孔洞和连接断开的区域。膨胀操作可以扩展图像中的边缘和明显的亮区域。它通过在图像上滑动一个结构元素（通常是一个正方形或圆形的小区域），将与该结构元素有重叠的区域像素的最大值赋给输出图像中的对应像素。腐蚀操作与膨胀操作相反，可以消除图像中的边缘和明显的亮区域，使其变窄。以上是OpenCV中常见的形态学操作的示例，包括膨胀、腐蚀、开运算和闭运算等。]]></description><category></category></item><item><title><![CDATA[OpenCV入门6：图像变换]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/134283848</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/134283848</guid><author>eric41050808</author><pubDate>Wed, 08 Nov 2023 10:54:58 +0800</pubDate><description><![CDATA[图像平移是指将图像在平面上沿着指定的方向进行移动。在OpenCV中，可以通过构建平移矩阵来实现图像平移操作。以上是OpenCV中常用的图像变换方法的示例，包括图像缩放、图像平移和仿射变换等。通过这些函数和方法，可以方便地对图像进行大小调整、平移和变换等操作。在OpenCV中，提供了一些函数和方法可以进行图像的缩放、仿射变换等操作。仿射变换是指通过线性变换和平移变换来对图像进行变换的方法，可以实现缩放、旋转、错切、平移等操作。图像缩放是改变图像的大小，可以将图像放大或缩小。函数进行图像缩放操作。]]></description><category></category></item><item><title><![CDATA[OpenCV入门5：色彩空间及色彩变换]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/134263297</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/134263297</guid><author>eric41050808</author><pubDate>Tue, 07 Nov 2023 11:26:48 +0800</pubDate><description><![CDATA[HSV色彩空间常用于图像的色彩调整和分析，例如调整图像的饱和度或亮度。不同的色彩空间有不同的表示方式，常见的色彩空间包括RGB（红绿蓝）、HSV（色调、饱和度、亮度）、YUV（亮度、色度）等。色彩变换是指在不同的色彩空间之间进行转换，以实现色彩的调整、分析和处理等目的。RGB色彩空间是最常用的色彩空间，将颜色表示为红色、绿色和蓝色三个分量的组合。色彩变换是在不同的色彩空间之间进行转换，以实现对图像色彩的调整和处理。在图像处理中，常用的色彩变换包括RGB到HSV的转换、RGB到YUV的转换等。]]></description><category></category></item><item><title><![CDATA[OpenCV入门4：ROI区域操作]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/134262781</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/134262781</guid><author>eric41050808</author><pubDate>Tue, 07 Nov 2023 11:13:17 +0800</pubDate><description><![CDATA[上述示例代码展示了如何设置ROI区域、复制和粘贴ROI、进行ROI区域的操作和计算。通过cv::Rect类型的矩形来定义ROI区域的位置和大小，然后使用cv::Mat的成员函数cv::Mat::operator()(const cv::Rect&)来设置ROI。所有的图像操作和计算都可以在ROI区域内进行，例如通过cv::Mat的成员函数cv::Mat::setTo()将ROI区域像素设置为指定的值。可以使用cv::Mat的成员函数cv::Mat::copyTo()来实现ROI区域的复制和粘贴。]]></description><category></category></item><item><title><![CDATA[OpenCV入门3：像素操作]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/134256601</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/134256601</guid><author>eric41050808</author><pubDate>Mon, 06 Nov 2023 22:51:28 +0800</pubDate><description><![CDATA[对于图像中的每一个像素，可以通过Mat对象中的at(i,j)函数（type可以是uchar、int等）获得Mat对象的像素值。OpenCV中提供了一些基本的图像处理函数，例如resize()（调整图像大小）、reshape()（调整通道数）、copyTo()（复制图像）等。cv::imread()函数可以读取多种图像格式的文件，例如JPEG、PNG等，cv::imwrite()函数可以将图像保存到磁盘上。这段代码演示了如何遍历图像的每个像素并反转BGR通道的值，然后显示处理后的图像。]]></description><category></category></item><item><title><![CDATA[OpenCV入门2：OpenCV中的图像表示]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/134232050</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/134232050</guid><author>eric41050808</author><pubDate>Sun, 05 Nov 2023 17:14:59 +0800</pubDate><description><![CDATA[例如，对于一个3通道的彩色图像，可以通过cv::Mat对象的行索引、列索引和通道索引来访问和修改图像的像素值。例如，mat.at(i, j)[2]表示访问第i行、第j列的像素的红色通道值。cv::Mat还包含了一些成员函数，例如赋值运算符operator=、创建矩阵的create()函数、释放矩阵的release()函数、复制矩阵的copyTo()函数等。图像的每个像素都由一个或多个通道组成，常见的是灰度图像（单通道）和彩色图像（三通道，如BGR格式）。- dims：表示数据的维度。]]></description><category></category></item><item><title><![CDATA[opencv入门1：二行代码，快速上手]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/129019301</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/129019301</guid><author>eric41050808</author><pubDate>Tue, 14 Feb 2023 00:16:25 +0800</pubDate><description><![CDATA[快速上手！
opencv图片读取，显示。
imread();
namedwindow();
imshow();]]></description><category></category></item><item><title><![CDATA[卷积神经网络的卷积核大小、个数，卷积层数如何确定呢？]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/102469833</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/102469833</guid><author>eric41050808</author><pubDate>Wed, 09 Oct 2019 20:58:55 +0800</pubDate><description><![CDATA[卷积神经网络的卷积核大小、卷积层数、每层map个数都是如何确定下来的呢？看到有些答案是刚开始随机初始化卷积核大小，卷积层数和map个数是根据经验来设定的，但这个里面应该是有深层次原因吧，比如下面的手写字卷积神经网络结构图1，最后输出为什么是12个map，即输出12个特征？然后图2又是输出10个特征了？







在达到相同感受野的情况下，卷积核越小，所需要的参数和计算量越小。



具体来...]]></description><category></category></item><item><title><![CDATA[raise ValueError("Object arrays cannot be loaded when " ValueError: Object arrays cannot be loaded w]]></title><link>https://blog.youkuaiyun.com/eric41050808/article/details/101380574</link><guid>https://blog.youkuaiyun.com/eric41050808/article/details/101380574</guid><author>eric41050808</author><pubDate>Wed, 25 Sep 2019 19:11:58 +0800</pubDate><description><![CDATA[运行VGG16网络，训练数据是 CIFAR10，出现如下报错：

raise ValueError("Object arrays cannot be loaded when "
ValueError: Object arrays cannot be loaded when allow_pickle=False

检索有人说是numpy版本，他们是用的IMDB的数据集，试了一下问题解决，记录一下。
...]]></description><category></category></item></channel></rss>