使用 opencv 进行文档矫正-编程思维
使用 OpenCV 进行文档矫正 本文只发布于博客园与pchar博客 std::vector<std::vector<cv::Point>> cvhelper::findCorners(const cv::Mat &image) { cv::Mat gaussImage; cv::GaussianBlur(image,
morethink program
使用 OpenCV 进行文档矫正 本文只发布于博客园与pchar博客 std::vector<std::vector<cv::Point>> cvhelper::findCorners(const cv::Mat &image) { cv::Mat gaussImage; cv::GaussianBlur(image,
例题 例题:518. 零钱兑换 II 概述: 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带符号整数。 朴素的二维完全背包 想法: 完全背包问题:即为假设可选择的物品为无限个,在数学本质上是组合
为避免混淆,用thread表示std::thread及其对象实例,用线程表示操作系统概念下的线程 Chapter 2 thread的管理 2.1 thread的创建(构造函数) a. 默认构造函数 default: thread() noexcept; 创建一个placeholder,不和任何线程关联。其使用场景如定义一个thread数组。可以在之后通过thread& operat
前两天面试过程中弱智了连快排没写出来,这里简单做一下个人向记录。 只需要挑选出枢轴以后简单左右比较,匹配即可,最后记得把枢轴调整到中间。 基础算法还是要掌握熟练的,对于跳出/边界/顺序等特殊情况最好在脑海中有一个大概的模拟。 # include<iostream> # include<vector> # include<algorithm> using nam
目录前言无法调用析构函数的原因改进方法内嵌回收类智能指针局部静态变量参考文章 前言 在《单例模式学习》中提到了,在单例对象是通过new关键字动态分配在堆上的情况下,当程序退出时,不会通过C++的RAII机制自动调用其析构函数。本文讨论一下这种现象的原因以及解决方法。 无法调用析构函数的原因 在DCLP(双检查锁模式)中,CSingleton中的instance是一个静态指针变量,被分配在全局/静
目录前言指令重排简介指令重排对单例模式的影响改进方法std::call_once和std::once_flagstd::atomic和内存顺序局部静态变量总结参考文章 前言 在《单例模式学习》中曾提到懒汉式DCLP的单例模式实际也不是线程安全的,这是编译器的指令重排导致的,本文就简单讨论一下指令重排对单例模式的影响,以及对应的解决方法。 指令重排简介 指令重排(Instruction Reor
一、简介 在C语言中常使用srand()+random()的方式生成随机数,该方式并不是一个很好的随据说生成方法,一方面是因为其生成的随机数质量较低,另一方面其随机数范围也有所限制。在C++11中推荐使用随机数引擎的方式生成随机数。 如何高效得生成高质量得随机数(甚至需要满足指定分布)是一个复杂的问题,本文只给出C++11中常用的用于生成均匀分布、正态分布等特定分布的随机数代码,并不对随机数生成
K,K线,Candle蜡烛图。 T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易。 项目仓库:https://github.com/bbqz007/KTL 国内仓库:https://gitee.com/bbqz007/KTL CoreAnimation for Windows: https://github.com/bbqz007/xw zqt5 一个超简单
前言 你们是否曾在学习C/C++的道路上,对着屏幕陷入沉思,疑惑于如何将多个不同类型的数据捆绑在一起,组成一个有机的整体?是否曾在数据管理的海洋中迷失,渴望有一种“乐高积木”般的能力,可以让你们随心所欲地搭建属于自己的数据结构?那么,结构体,就是你们需要的答案! 什么是结构体? 结构体,是C/C++语言中用于封装不同数据类型的“容器”,就像一个神秘的宝盒,可以把我们想要在一起的东西收藏起来。它允
最近Mac系统在运行大语言模型(LLMs)方面的性能已经得到了显著提升,尤其是随着苹果M系列芯片的不断迭代,本次我们在最新的MacOs系统Sonoma中本地部署无内容审查大语言量化模型Causallm。 这里推荐使用koboldcpp项目,它是由c++编写的kobold项目,而MacOS又是典型的Unix操作系统,自带clang编译器,也就是说MacOS操作系统是可以直接编译C语言的。 首先克
关于C++内存和分配的学习笔记 C++内存和分配很容易出问题,为了编写高质量的CPP代码,我们必须了解幕后的工作原理。 1.内存泄漏 例如: void leaky() { new int;//这里就是内存泄漏 cout<<"我泄漏了一个int的内存!"<<endl; } 自由存储区中的数据库无法被栈或者间接访问,这块内存被遗弃了(泄漏了)。 正确代码: int