数字图像处理
在数字图像处理领域,本书作为主要教材已有 40 多年的历史。第四版是作者在前三版的基础上修订而成的,是前三版的发展与延续。除保留前几版的大部分内容外,根据读者的反馈,作者对本书进行了全面修订,融入了近几年来数字图像处理领域的重要进展,增加了几百幅新图像、几十个新图表和上百道新习题。全书共十二章,即绪论、数字图像基础、灰度变换与空间滤波、频率域滤波、图像复原与重建、小波变换和其他图像变换、彩色图像处理、图像压缩和水印、形态学图像处理、图像分割、特征提取、图像模式等。 本书的读者对象主要是从事信号与信息处理、通信工程、电子科学与技术、信息工程、自动化、计算机科学与技术、地球物理、生物工程、生物医学工程、物理、化学、医学、遥感等领域的大学教师和科技工作者、研究生、大学本科高年级学生及工程技术人员。 第 1 章 绪论1.1 什么是数字图像处理一幅图像可以定义为一个二维函数 $f(x, y)$,其中 $x$ 和 $y$ 是空间(平面)坐标,任一一对空间坐标 $(x, y)$ 处的幅值 $f$ 称为图像在该点的强度或灰度。当 $x$,$y$ 和灰度值 $f$ 都是有限的离散量时,我们称该图像...
Effective Modern C++
一份宏大的作品,能够带动一个领域的蓬勃发展。C++ 社群在相对沉寂数十年之后迎来新一波浪潮,原因是,作为一门编程工具的最核心,C++ 的语言和标准库都出现巨大的拓展和强化。这一番大变革始自 2011,并分别于 2014、2017 持续进化。业界习惯性地将这些新版本统称为 Modern C++,用以区别“传统” C++。 作为知名书系的最新作品,《Effective Modern C++》的佳质和佳评一如其早期同门作品《Effective C++》和《More Effective C++》。本书延续作者 Scott Meyers 的一贯风格和质量,其最大特质就是,不但告诉我们 How,更用巨大而精良的篇幅告诉我们 Why。作者穷追猛打讲究再三的劲儿,常让我筋疲力尽,痛并快乐地爬行于某个条款之际拍案而叹:“天哪,还有下一页!” 而我,是一个在 C++ 领域已经生活了 25 年的老兵。 是的,我是一个在 C++ 领域已经生活了 25 年的老兵,这意味着我具备相当的 C++ 能力。尽管如此,面对号称全新语言的 Modern C++,我时或也有力不能逮、掩卷长叹的焦躁,特别是面对 Rval...
Effective STL
本书是 Effective C++ 的第 3 卷,被评为“值得所有 C++ 程序员阅读的 C++ 书籍之一”。本书详细讲述了使用 STL 的 50 条指导原则,并提供了透彻的分析和深刻的实例,实用性极强,是 C++ 程序员必备的基础书籍。C++ 的标准模板库(STL)是革命性的,要用好 STL 并不容易。本书作者 Scott Meyers 揭示了专家总结的一些关键规则,包括专家们总是采用的做法,以及专家们总是避免的做法。通过这些规则,STL 程序员可以最大限度地使用 STL。
More Effective C++
继 Effective C++ 之后,Scott Meyers 于 1996 年推出这本“续集”。条款变得比较少,页数倒是多了一些,原因是这次选材比“第一集”更高阶。尤其是第 5 章。Meyers 将此章命名为技术(techniques),并明白告诉你,其中都是一些 patterns(模式),例如 virtual contructors(虚构造函数),smart pointers(智能指针),reference counting(引用计数),proxy classes(策略类),double dispatching(双重派发)……这一章的每个条款篇幅都长达 15~30 页之多,实在让人有“山重水复疑无路,柳暗花明又一村”之叹。 基础议题条款 1:仔细区分指针和引用条款 2:最好使用 C++ 转型操作符条款 3:绝对不要以多态反诗处理数组条款 4:非必要不提供默认构造函数操作符条款 5:对定制的“类型转换函数”保持警觉条款 6:区分自增/自减操作符的前置和后置形式条款 7:千万不要重载 &&,|| 和 , 操作符条款 8:了解各种不同意义的 new 和...
Effective C++
有人说 C++ 程序员可以分为两类,读过 Effective C++ 的和没读过的。世界级 C++ 大师 Scott Meyers 成名之作的第三版的确当得起这样的评价。当您读过本书之后,就获得了迅速提升自己 C++ 功力的一个契机。 在国际上,本书所引起的反响,波及整个计算机的出版领域,余音至今未绝。几乎在所有 C++ 书籍的推荐名单上,本书都会位于前三名。作者高超的技术把握力、独特的视角、诙谐轻松的写作风格、独具匠心的内容组织,都受到极大的推崇和效仿。这种奇特的现象,只能解释为人们对这本书衷心的赞美和推崇。 这本书不是读完一遍就可以束之高阁的快餐读物,也不是用于解决手边问题的参考手册,而是需要您去反复阅读体会的,C++ 是真正程序员的语言,背后有着精深的思想与无与伦比的表达能力,这使得它具有类似宗教般的魅力。希望这本书能够帮助您跨越 C++ 的重重险阻,领略高处才有的壮美风光,做一个成功而快乐的 C++ 程序员。 1. 让自己习惯 C++不论你的编程背景是什么,C++ 都可能让你觉得有点熟悉。它是一个威力强大的语言,带着众多特性,但是在你可以驾驭其威力并有效运用其特性之前,你...
C++ Lambda 的故事——附录
附录 A - 技术列表C++11 章节C++14 章节C++17 章节C++20 章节附录 B - C++ Lambda 表达式的六大优势Lambda 使代码更可读Lambda 编译比 std::bind 快 7 倍!Lambda 增强了代码的局部性Lambda 允许轻松存储状态Lambda 允许多个重载在同一的地方Lambda 随着 C++ 的每一次修订而变得更好!参考文献
C++ Lambda 的故事——C++20
C++20 中的 LambdaLambda 语法的更新变化速览consteval Lambda捕获参数包模板 Lambda概念与 Lambda无状态 Lambda 的变化Lambda 和 constexpr 算法C++20 重载模式的更新总结
C++ Lambda 的故事——C++17
C++17 中的 LambdaLambda 语法的更新类型系统中的异常规范constexpr Lambda 表达式*this 的捕获IIFE 的更新用 IIFE 提取函数可变泛型 lambda 的更新从多个 Lambda 继承使用 Lambda 来并发执行总结
C++ Lambda 的故事——C++14
C++14 中的 LambdaC++14 对 Lambda 表达式增加了两个重要的功能: 带初始化器的捕获 泛型 Lambda 此外,该标准还更新了一些规则,例如: Lambda 的默认参数 以 auto 作为返回类型 这些特性可以解决 C++11 中出现的几个问题。你可以在 N4140 和 Lambdas 中查看相关细节。此外,在本章,你将会了解到: 捕获非静态数据成员 用现代的技术替代旧的函数风格工具,如 std::bind1st LIFTING 惯用法 递归 Lambda Lambda 的默认参数让我们从一些较小的更新开始: 在 C++14 中,可以在函数调用中使用默认参数。这是一个小功能,但可以使 Lambda 更像一个常规函数。 12345678// Ex3_1: Lambda with Default Parameter.#include <iostream>int main() { const auto lam = [](int x = 10) { std::cout << x << ...
C++ Lambda 的故事——C++11
C++11 中的 Lambda万岁!C++ 委员会听取了开发人员的意见,在 C++11 标准中加入了 Lambda 表达式! Lambda 表达式很快就成为现代 C++ 中最具辨识度的一个特性。 你可以在 N3337(C++11 的最终草案)中阅读其完整规范,以及关于 Lambda 的单独部分:[express .prim.lambda]。 我认为委员会以一种聪明的方式在语言中添加了 Lambda。他们设计了新的语法,但随后编译器将其“展开”为一个未命名的“隐藏的”函数对象类型。这样我们就拥有了真正强类型语言的所有优点(以及缺点),使代码理解起来更加容易。 在本章,你将会学习到: Lambda 的基础语法。 如何捕获一个变量。 如何捕获一个类的非静态成员变量。 Lambda 的返回类型。 什么是闭包类型。 怎样将 Lambda 表达式转换成一个函数指针从而能够去使用 C 风格的 API. 什么是 IIFE 以及为什么它是的有用的。 如何继承一个 Lambda 表达式。 让我们出发吧! Lambda 表达式的语法下图说明了 C++11 中 Lambda 的语法: 现在让我们通...











