{"id":15031183,"url":"https://github.com/qianmo/opencv3-intro-book-src","last_synced_at":"2025-05-15T20:07:33.775Z","repository":{"id":29315047,"uuid":"32848437","full_name":"QianMo/OpenCV3-Intro-Book-Src","owner":"QianMo","description":":blue_book:《OpenCV3编程入门》书本配套源码 |《Introduction to OpenCV3 Programming》Book Source Code","archived":false,"fork":false,"pushed_at":"2017-12-03T02:14:55.000Z","size":23134,"stargazers_count":1828,"open_issues_count":15,"forks_count":936,"subscribers_count":121,"default_branch":"master","last_synced_at":"2025-05-15T20:07:07.155Z","etag":null,"topics":["book-source-code","c-plus-plus","opencv"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/QianMo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-25T07:07:19.000Z","updated_at":"2025-04-27T03:01:29.000Z","dependencies_parsed_at":"2022-07-12T14:02:43.922Z","dependency_job_id":null,"html_url":"https://github.com/QianMo/OpenCV3-Intro-Book-Src","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QianMo%2FOpenCV3-Intro-Book-Src","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QianMo%2FOpenCV3-Intro-Book-Src/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QianMo%2FOpenCV3-Intro-Book-Src/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QianMo%2FOpenCV3-Intro-Book-Src/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QianMo","download_url":"https://codeload.github.com/QianMo/OpenCV3-Intro-Book-Src/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254414501,"owners_count":22067272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["book-source-code","c-plus-plus","opencv"],"created_at":"2024-09-24T20:15:05.058Z","updated_at":"2025-05-15T20:07:28.750Z","avatar_url":"https://github.com/QianMo.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"《OpenCV3编程入门》书本配套源代码\n==============================\n#### 《Introduction to OpenCV3 Programming》Book Source Code\u003cbr\u003e\n\n![](http://img.blog.csdn.net/20150325155409850)  \n\u003cbr\u003e本书有OpenCV2、OpenCV3两套独立的书本配套示例程序供选择使用。\n\u003cbr\u003e  有4个部分11章，共有95个主线示例程序，为方便大家查阅和学习，总结成如下。\n# 正文部分源代码\n## 第一部分 快速上手OpenCV\n\t\t1\tOpenCV环境配置的测试用例\t1.3.8\n\t\t2\t快速上手OpenCV的第一个程序：图像显示\t1.4.1\n\t\t3\t快速上手OpenCV的第二个程序：图像腐蚀\t1.4.2\n\t\t4\t快速上手OpenCV的第三个程序：blur图像模糊\t1.4.3\n\t\t5\t快速上手OpenCV的第四个程序：canny边缘检测\t1.4.4\n\t\t6\t读取并播放视频\t1.5.1\n\t\t7\t调用摄像头采集图像\t1.5.2\n\t\t8\t官方例程引导、赏析之彩色目标跟踪：Camshift\t2.1.1\n\t\t9\t官方例程引导、赏析之光流：optical flow\t2.1.2\n\t\t10\t官方例程引导、赏析之点追踪：lkdemo\t2.1.3\n\t\t11\t官方例程引导、赏析之人脸识别：objectDetection\t2.1.4\n\t\t12\t官方例程引导、赏析之支持向量机：支持向量机引导\t2.1.5\n\t\t13\t官方例程引导、赏析之支持向量机：处理线性不可分数据\t2.1.5\n\t\t14\tprintf函数的用法示例\t2.6.2\n\t\t15\t用imwrite函数生成png透明图\t3.1.8\n\t\t16\t综合示例程序：图像的载入、显示与输出\t3.1.9\n\t\t17\t为程序界面添加滑动条\t3.2.1\n\t\t18\t鼠标操作示例\t3.3\n## 第二部分 初探core组件\t\n\t\t19\t基础图像容器Mat类的使用\t4.1.7\n\t\t20\t用OpenCV进行基本绘图\t4.3\n\t\t21\t操作图像中像素的方法一：用指针访问像素\t5.1.5、5.1.6\n\t\t22\t操作图像中像素的方法二：用迭代器操作像素\t5.1.5、5.1.6\n\t\t23\t操作图像中像素的方法三：动态地址计算\t5.1.5、5.1.6\n\t\t24\t遍历图像中像素的14种方法\t5.1.6\n\t\t25\t初级图像混合\t5.2.4\n\t\t26\t多通道图像混合\t5.3.3\n\t\t27\t图像对比度、亮度值调整\t5.4.3\n\t\t28\t离散傅里叶变换\t5.5.8\n\t\t29\tXML和YAML文件的写入\t5.6.3\n\t\t30\tXML和YAML文件的读取\t5.6.4、\n## 第三部分 掌握imgproc组件\t\n\t\t31\t方框滤波：boxFilter函数的使用\t6.1.11\n\t\t32\t均值滤波：blur函数的使用\t6.1.11\n\t\t33\t高斯滤波：GaussianBlur函数的使用\t6.1.11\n\t\t34\t综合示例：图像线性滤波\t6.1.12\n\t\t35\t中值滤波：medianBlur函数的使用\t6.2.4\n\t\t36\t双边滤波：bilateralFilter函数的使用\t6.2.4\n\t\t37\t综合示例：图像滤波\t6.2.5\n\t\t38\t膨胀：dilate函数的使用\t6.3.5\n\t\t39\t腐蚀：erode函数的使用\t6.3.5\n\t\t40\t综合示例：腐蚀与膨胀\t6.3.6\n\t\t41\t用morphologyEx()函数实现形态学膨胀\t6.4.8\n\t\t42\t用morphologyEx()函数实现形态学腐蚀\t6.4.8\n\t\t43\t用morphologyEx()函数实现形态学开运算\t6.4.8\n\t\t44\t用morphologyEx()函数实现形态学闭运算\t6.4.8\n\t\t45\t用morphologyEx()函数实现形态学梯度\t6.4.8\n\t\t46\t用morphologyEx()函数实现形态学“顶帽”\t6.4.8\n\t\t47\t用morphologyEx()函数实现形态学“黑帽”\t6.4.8\n\t\t48\t综合示例：形态学滤波\t6.4.9\n\t\t49\t漫水填充算法：floodFill函数\t6.5.3\n\t\t50\t综合示例：漫水填充\t6.5.4\n\t\t51\t尺寸调整：resize()函数的使用\t6.6.5\n\t\t52\t向上采样图像金字塔：pyrUp()函数的使用\t6.6.6\n\t\t53\t向下采样图像金字塔：pyrDown()函数的使用\t6.6.6\n\t\t54\t综合示例：图像金字塔与图片尺寸缩放\t6.6.7\n\t\t55\t示例程序：基本阈值操作\t6.7.3\n\t\t56\tCanny边缘检测\t7.1.2\n\t\t57\tSobel 算子的使用\t7.1.3\n\t\t58\tLaplacian算子的使用\t7.1.4\n\t\t59\tScharr滤波器\t7.1.5\n\t\t60\t综合示例：边缘检测\t7.1.6\n\t\t61\t标准霍夫变换：HoughLines()函数的使用\t7.2.4\n\t\t62\t累计概率霍夫变换：HoughLinesP()函数\t7.2.5\n\t\t63\t霍夫圆变换：HoughCircles()函数\t7.2.8\n\t\t64\t综合示例：霍夫变换\t7.2.9\n\t\t65\t实现重映射：remap()函数\t7.3.3\n\t\t66\t综合示例程序：实现多种重映射\t7.3.4\n\t\t67\t仿射变换\t7.4.5\n\t\t68\t直方图均衡化\t7.5.3\n\t\t69\t轮廓查找\t8.1.3\n\t\t70\t查找并绘制轮廓\t8.1.4\n\t\t71\t凸包检测基础\t8.2.3\n\t\t72\t寻找和绘制物体的凸包\t8.2.4\n\t\t73\t创建包围轮廓的矩形边界\t8.3.6\n\t\t74\t创建包围轮廓的圆形边界\t8.3.7\n\t\t75\t使用多边形包围轮廓\t8.3.8\n\t\t76\t图像轮廓矩\t8.4.4\n\t\t77\t分水岭算法的使用\t8.5.2\n\t\t78\t实现图像修补\t8.6.2\n\t\t79\tH-S二维直方图的绘制\t9.2.3\n\t\t80\t一维直方图的绘制\t9.2.4\n\t\t81\tRGB三色直方图的绘制\t9.2.5\n\t\t82\t直方图对比\t9.3.2\n\t\t83\t反向投影\t9.4.7\n\t\t84\t模板匹配\t9.5.3\n\t\t\n## 第四部分 深入featrue2d组件\t\n\t\t85\t实现Harris角点检测：cornerHarris()函数的使用\t10.1.4\n\t\t86\tharris角点检测与绘制\t10.1.5\n\t\t87\tShi-Tomasi角点检测\t10.2.3\n\t\t88\t亚像素级角点检测\t10.3.3\n\t\t89\tSURF特征点检测\t11.1.6\n\t\t90\tSURF特征提取\t11.2.3\n\t\t91\t使用FLANN进行特征点匹配\t11.3.3\n\t\t92\tFLANN结合SURF进行关键点的描述和匹配\t11.3.4\n\t\t93\tSIFT配合暴力匹配进行关键点描述和提取\t11.3.5\n\t\t94\t寻找已知物体\t11.4.3\n\t\t95\t利用ORB算法进行关键点的描述与匹配\t11.5.4\n\n\n\n# 额外的附赠程序一览\n\n除书本本身的示例程序之外，额外附加了OpenCV2版的21个相较于正文主线的示例代码稍微复杂一些的程序源代码。\n现将附加的21个示例程序列举如下：\n\n\t\t1\t随机图形和文字生成示例（randomtext）\n\t\t2\t生成彩色色条（gencolors）\t\n\t\t3\t卡尔曼滤波（kalman）\t\n\t\t4\t渐变过渡各种图形滤波（median_blur）\n\t\t5\t距离变换（distanceTransform）\n\t\t6\t把图像映射到极指数空间（Log Polar）\n\t\t7\tfilter2D滤波器的用法\t\n\t\t8\tgrabCut图像分割示例\t\n\t\t9\tMeanShift图像分割示例\n\t\t10\t用滑动控制图像直方图\n\t\t11\t找到图像最小的封闭轮廓\n\t\t12\tRetina特征点检测\n\t\t13\t摄像头帧数检测\n\t\t14\t视频截图\n\t\t15\t对视频的快速角点检测\n\t\t16\t视频简单色彩检测\n\t\t17\t跟踪分割视频中运动的物体\n\t\t18\t视频的直方图反向投影。\n\t\t19\t计算视频中两个图像区域的相似度\n\t\t20\t视频前后背景分离\n\t\t21\t用高斯背景建模分离背景\n\n\n\u003cbr\u003e\n\n\n# 书本勘误\u0026维护博文\n\n[【书本勘误\u0026维护博文】](http://blog.csdn.net/poem_qianmo/article/details/44416709)\n\n![](http://img.blog.csdn.net/20150325202951885)  \n\u003cbr\u003ePlease Enjoy~\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqianmo%2Fopencv3-intro-book-src","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqianmo%2Fopencv3-intro-book-src","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqianmo%2Fopencv3-intro-book-src/lists"}