<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cncWay的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cncWay</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cncWay]]></copyright><item><title><![CDATA[C#实战-在非派生自 System.Windows.Forms.Control 的类中线程安全地更新用户界面控件]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139848194</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139848194</guid><author>cncWay</author><pubDate>Fri, 21 Jun 2024 08:52:53 +0800</pubDate><description><![CDATA[在非派生自 System.Windows.Forms.Control 的类中，可以使用 SynchronizationContext 来确保线程安全地更新用户界面控件。以下是一个示例]]></description><category></category></item><item><title><![CDATA[C#实战- MVC模式，确保Controller中的定时器事件在View中的所有控件初始化完成后再调用]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139848008</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139848008</guid><author>cncWay</author><pubDate>Fri, 21 Jun 2024 08:46:07 +0800</pubDate><description><![CDATA[在C#窗体应用中使用MVC时，要确保Controller中的定时器事件在View中的所有控件初始化完成后再调用，可以通过以下方法实现]]></description><category></category></item><item><title><![CDATA[C# 实战-Controls属性]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139847944</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139847944</guid><author>cncWay</author><pubDate>Fri, 21 Jun 2024 08:34:23 +0800</pubDate><description><![CDATA[在C#窗体应用中，Controls是Control类或其派生类（如Form、Panel、GroupBox等）的一个属性。它表示控件集合，这个集合包含了控件的所有子控件。通过Controls属性可以访问、添加或删除控件。以下是几个详细的例子来说明如何理解和使用Controls属性：

## 例子1: 动态添加控件]]></description><category></category></item><item><title><![CDATA[C# 实战-三种类型的Timer]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139847846</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139847846</guid><author>cncWay</author><pubDate>Fri, 21 Jun 2024 08:27:18 +0800</pubDate><description><![CDATA[在C#中，主要有三种类型的Timer：

System.Windows.Forms.Timer
System.Timers.Timer
System.Threading.Timer]]></description><category></category></item><item><title><![CDATA[C# 控件-ComboBox]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139824412</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139824412</guid><author>cncWay</author><pubDate>Thu, 20 Jun 2024 10:16:56 +0800</pubDate><description><![CDATA[ComboBox 是一个下拉列表控件，它允许用户从预定义的选项中进行选择，或者输入自定义的文本。以下是如何理解和快速掌握 ComboBox 控件的几个关键点。]]></description><category></category></item><item><title><![CDATA[C# OpenCvSharp 图像处理函数-图像平滑滤波-bilateralFilter、filter2D、sepFilter2D、edgePreservingFilter、fastNlMeansDe]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139771400</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139771400</guid><author>cncWay</author><pubDate>Tue, 18 Jun 2024 14:01:07 +0800</pubDate><description><![CDATA[1.bilateralFilter-双边滤波可以在平滑图像的同时保持边缘清晰。它通过考虑像素颜色和空间距离来决定如何平滑图像。
2.filter2D-卷积滤波可以实现各种图像处理效果，如模糊、锐化等，具体效果取决于卷积核的定义。
3.sepFilter2D-可分离线性滤波先对图像的每一行进行X方向的滤波，再对每一列进行Y方向的滤波。
4.edgePreservingFilter-边界保护滤波可以平滑图像，同时保持边缘不被模糊。
5.fastNlMeansDenoising-非局部均值去噪可以有效去除图像中的]]></description><category></category></item><item><title><![CDATA[C# OpenCvSharp 图像处理函数-图像平滑滤波-blur、boxFilter、sqrBoxFilter、medianBlur、GaussianBlur]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139769162</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139769162</guid><author>cncWay</author><pubDate>Tue, 18 Jun 2024 11:54:49 +0800</pubDate><description><![CDATA[在这篇文章中，我们将详细介绍几个常用的图像处理函数，通过具体的示例来说明每个函数的作用和使用方法。这些函数包括 blur、boxFilter、sqrBoxFilter、medianBlur 和 GaussianBlur。每个示例都将展示函数的运算过程和结果，并与实际应用项目相关联。]]></description><category></category></item><item><title><![CDATA[C# OpenCvSharp 图像变换与增强-convertScaleAbs、log、exp、pow、sqrt、equalizeHist、CLAHE、detailEnhance、illuminatio]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139757138</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139757138</guid><author>cncWay</author><pubDate>Tue, 18 Jun 2024 10:12:10 +0800</pubDate><description><![CDATA[1.convertScaleAbs0-将图像转为8位无符号图像，并进行线性变换（y = ax + b）。
2.log-对图像进行对数变换，通常用于增强图像的细节。
3.exp-对图像进行指数变换，通常用于图像增强。
4.pow-对图像进行幂变换，通常用于图像增强。
5.sqrt-对图像进行开方变换，通常用于图像增强。
6.equalizeHist-直方图均衡化，用于增强图像对比度。
7.CLAHE-限制对比度自适应直方图均衡化，用于增强图像。
8.detailEnhance-增强图像细节。]]></description><category></category></item><item><title><![CDATA[C# OpenCvSharp 图像复制-clone、copyTo]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139727284</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139727284</guid><author>cncWay</author><pubDate>Sun, 16 Jun 2024 22:05:07 +0800</pubDate><description><![CDATA[在C#中使用OpenCvSharp库处理图像时，clone和copyTo是两个非常常用的函数。理解和合理使用这些函数可以帮助你在图像处理项目中更高效地操作图像数据。本文将详细介绍这两个函数的使用方法，并通过具体的示例来说明它们的实际应用。]]></description><category></category></item><item><title><![CDATA[C# OpenCvSharp 颜色通道及数据转换-convertTo、split、merge、extractChannel、insertChannel、applyColorMap]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139723287</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139723287</guid><author>cncWay</author><pubDate>Sun, 16 Jun 2024 17:42:37 +0800</pubDate><description><![CDATA[1. convertTo-将图像从一种数据类型转换为另一种数据类型。
2.split-将多通道图像分离为每个通道。比如，通过该函数将三通道彩色图像分离分三个单通道图像。
3.merge-将多个单通道图像合并为一个多通道图像。
4.extractChannel-指定抽取多通道图像的某个通道。
5.insertChannel-将某个通道图像插入另一个通道图像中，有合并通道的效果。
6.applyColorMap-将灰度图像转为伪彩色图像。只是转换为看起来像彩色图像的样式。]]></description><category></category></item><item><title><![CDATA[C# OpenCvSharp 图像处理函数-颜色通道-cvtColor]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139722895</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139722895</guid><author>cncWay</author><pubDate>Sun, 16 Jun 2024 17:17:26 +0800</pubDate><description><![CDATA[在图像处理领域，颜色空间转换是一个非常常见的操作。OpenCvSharp 提供了一个强大的函数 cvtColor 来处理这类转换。本文将详细介绍 cvtColor 函数的使用方法，并通过具体的示例演示如何在实际项目中应用这些知识。]]></description><category></category></item><item><title><![CDATA[C# OpenCvSharp 图像处理函数-图像拼接-hconcat、vconcat、Stitcher]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139717340</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139717340</guid><author>cncWay</author><pubDate>Sun, 16 Jun 2024 11:22:01 +0800</pubDate><description><![CDATA[1.hconcat-将多幅图像或矩阵按照水平方向连接成一幅图像。输出结果与原图有相同的行数和数据类型。
2.vconcat-将多幅图像或矩阵按照垂直方向连接成一幅图像。输出结果与原图有相同的列数和数据类型。
3.Stitcher-用于图像拼接，该类可以通过设置不同的参数来实现图像的拼接。常用的参数包括置信度阈值、特征点选择算法等。该类可以自动调整曝光度，恢复相机参数等。]]></description><category></category></item><item><title><![CDATA[C# OpenCvSharp 逻辑运算-bitwise_and、bitwise_or、bitwise_not、bitwise_xor]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139709741</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139709741</guid><author>cncWay</author><pubDate>Sat, 15 Jun 2024 22:10:51 +0800</pubDate><description><![CDATA[1.bitwise_and 来提取图像中的某些部分。
2.bitwise_or 来合并两个图像的感兴趣区域。
3.bitwise_not 来生成图像的反相图像。
4.bitwise_xor 来比较两张图像的不同部分。]]></description><category></category></item><item><title><![CDATA[C# OpenCvSharp 代数运算-add、scaleAdd、addWeighted、subtract、absdiff、multiply、divide]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139705602</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139705602</guid><author>cncWay</author><pubDate>Sat, 15 Jun 2024 17:37:41 +0800</pubDate><description><![CDATA[1.add-将两幅图像进行相加，可以达到图像融合的目的。
2.scaleAdd-将两幅图像进行相加，第一幅图像乘上比例因子加上第二幅图像。
3.addWeighted-将两幅图像进行相加，每幅图像可以设置自己的权重。
4.subtract-将两幅图像进行相减，可以得到图像差分结果，凸显某些细节特征。
5.absdiff-将两幅图像进行相减并取绝对值，可以得到图像差分结果，凸显某些细节特征。
6.multiply-将两幅图像进行相乘运算。
7.divide-将两幅图像进行相除运算。]]></description><category></category></item><item><title><![CDATA[C# OpenCvSharp 矩阵计算-compare、repeat、PSNR、cross、dot]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139699365</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139699365</guid><author>cncWay</author><pubDate>Sat, 15 Jun 2024 11:40:09 +0800</pubDate><description><![CDATA[void compare(InputArray src1, InputArray src2, OutputArray dst, int cmpop);
Mat repeat(const Mat& src, int ny, int nx);
double PSNR(InputArray src1, InputArray src2, double R=255.);
Mat cross(InputArray m) const;
double dot(InputArray m) const;]]></description><category></category></item><item><title><![CDATA[C# OpenCvSharp 矩阵计算-solveCubic、solvePoly、SVDecomp、max、min]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139692632</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139692632</guid><author>cncWay</author><pubDate>Sat, 15 Jun 2024 01:22:01 +0800</pubDate><description><![CDATA[solveCubic 用于计算三次方程的解。
solvePoly 用于计算多项式方程的解。
SVDecomp 用于进行奇异值分解（SVD），将矩阵分解为三个矩阵的乘积。
max 用于比较两个图像或矩阵中对应位置的最大值，或者图像矩阵与某个具体的数字进行比较的最大值结果。
min 用于比较两个图像或矩阵中对应位置的最小值，或者图像矩阵与某个具体的数字进行比较的最小值结果。]]></description><category></category></item><item><title><![CDATA[C# OpenCvSharp 矩阵计算-determinant、trace、eigen、calcCovarMatrix、solve]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139666969</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139666969</guid><author>cncWay</author><pubDate>Fri, 14 Jun 2024 00:05:22 +0800</pubDate><description><![CDATA[determinant - 计算行列式
trace - 计算矩阵的迹
eigen - 计算特征值和特征向量
calcCovarMatrix - 计算协方差矩阵
solve - 计算线性方程的解]]></description><category></category></item><item><title><![CDATA[C# OpenCvSharp 函数详解-normalize、transpose、 invert、flip、 rotate]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139666739</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139666739</guid><author>cncWay</author><pubDate>Thu, 13 Jun 2024 23:42:33 +0800</pubDate><description><![CDATA[normalize函数用于将图像的像素值归一化到指定范围。它可以根据不同的归一化类型进行归一化处理，如L1、L2范数等。
transpose函数用于矩阵转置操作，即将矩阵的行和列互换。
invert函数用于求解矩阵的逆矩阵。常用的分解方法包括LU分解、SVD分解等。
flip函数用于矩阵翻转，可以进行水平翻转、垂直翻转或同时翻转。
rotate函数用于矩阵旋转，可以进行90度、180度或270度（逆时针90度）的旋转。]]></description><category></category></item><item><title><![CDATA[C# OpenCvSharp Mat操作-常用Mat数学运算]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139619744</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139619744</guid><author>cncWay</author><pubDate>Wed, 12 Jun 2024 10:33:58 +0800</pubDate><description><![CDATA[在使用OpenCvSharp进行图像处理时，理解并合理使用Mat数学运算函数可以帮助我们从图像中提取各种统计特征。这些特征可以用于图像分类、匹配等任务。下面我们逐一详细介绍这些函数，并通过C#代码示例说明它们的使用。📷]]></description><category></category></item><item><title><![CDATA[C# OpenCvSharp Mat操作-操作符重载]]></title><link>https://blog.youkuaiyun.com/cncWay/article/details/139610782</link><guid>https://blog.youkuaiyun.com/cncWay/article/details/139610782</guid><author>cncWay</author><pubDate>Tue, 11 Jun 2024 23:03:15 +0800</pubDate><description><![CDATA[在C#中使用OpenCvSharp进行图像处理时，操作符重载可以使代码更加简洁和直观。]]></description><category></category></item></channel></rss>