摘要: 本文对比C++中std::mt19937和硬件随机数效率。注意硬件随机数指令_rdrand32_step等属于AVX指令集。文档中说明_rdrand32_step可能会失败,失败时返回0,经过几次测试没有发现失败的情况。所以如果程序要求不严可以不管返回值。对比的结果是硬件随机数更慢。所以一般硬件随机 阅读全文
posted @ 2023-05-06 10:21 兜尼完 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 这里就不介绍基本概念了,直接给代码和对比结果。分别是普通C++代码,SSE加速代码和OpenCV代码。代码基于VS2017、OpenCV430和Qt5.9。CPU型号是Intel Core i5-7400。 Mat mul1(const Mat& a, const Mat& b) { ASSERT( 阅读全文
posted @ 2023-04-27 09:50 兜尼完 阅读(92) 评论(0) 推荐(0) 编辑
摘要: Sobel算子的卷积核如下。这里以x轴向右为正;y轴向下为正: $${\mathbf{D_{x}}=\bigl(\begin{smallmatrix} -1 & 0 & 1 \\ -2 & 0 & 2 \\ -1 & 0 & 1 \end{smallmatrix}\bigr), \mathbf{D_ 阅读全文
posted @ 2023-04-26 10:20 兜尼完 阅读(216) 评论(0) 推荐(0) 编辑
摘要: QNetworkAccessManager是一种支持常见网络协议的类。可以很方便的使用。它提供了上传下载进度的接口,对网络错误也提供了接口。在Qt帮助中说在触发error(QNetworkReply::NetworkError)信号之后,后面很可能跟着finished()信号,因此可以在这两个信号的 阅读全文
posted @ 2023-04-18 15:11 兜尼完 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 此函数可以用来在子线程中委托一个线程执行特定函数。QMetaObject::invokeMethod(...)默认在主线程中执行函数,除非指定连接方式为Qt::DirectConnection。但是,如果一个对象使用moveToThread(...)函数将它的槽函数委托到指定的线程执行,那么不管QM 阅读全文
posted @ 2023-04-11 14:47 兜尼完 阅读(800) 评论(0) 推荐(0) 编辑
摘要: 高斯函数也是一种常见的函数。拟合它可以通过求对数转换成线性规划问题,从而用最小二乘法拟合。不过为了精确一点,可以用最小二乘法拟合得到初始解之后再用梯度下降法求精。以下将描述高斯函数的梯度下降法公式推导过程。高斯函数的形式为: $${y=a \cdot e^{- \frac{ \left ( x - 阅读全文
posted @ 2023-04-10 14:17 兜尼完 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 最近研究了一下梯度下降法,所以写了个拟合圆的方法。拟合圆属于非线性拟合。网上的最小二乘法拟合圆公式并不是误差的平方,而是4次方(为了去掉公式里的开方)。一般可以先用网上的公式得到一个初始解,然后再用梯度下降法继续求精。梯度下降法的公式推导如下。定义误差函数: $${e=\sum_{i}^{}\lef 阅读全文
posted @ 2023-04-06 15:48 兜尼完 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 最近学指令集加速,比较好奇求平均值能不能用指令集加速。于是做了这么一个测试。先说一下结论:不要看普通C++代码循环内部调用了operator+=()函数就觉得慢,其实在Release版优化的情况下效率和使用指令集加速差异在2%左右。所以像求平均值这种简单的运算不需要手工调用指令集优化,编译器可以做的 阅读全文
posted @ 2023-03-31 11:16 兜尼完 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 这个控件写了好久,主要是因为控件的宽高跟它显示的文本图像内容的多少有关。一开始想用QLayout和sizeHint实现自动布局,试了好多次总是会有些问题。最终放弃了自动布局,采用手动布局。响应resizeEvent和QEvent::LayoutRequest消息,在内部计算每个消息的显示尺寸和位置。 阅读全文
posted @ 2023-03-30 10:26 兜尼完 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 以下代码基于VS2017、Qt5.9和OpenCV430,CPU型号是Intel Core i5-7400。功能是对图像进行二值化。下面直接上代码: void main() { Mat image(1024, 1024, CV_8UC1, Scalar(255)); circle(image, Po 阅读全文
posted @ 2023-03-22 17:49 兜尼完 阅读(128) 评论(0) 推荐(0) 编辑