OpenCV.概念(读书笔记)
ZC:学习OpenCV.pdf
1、多通道矩阵(学习OpenCV.pdf)
1.1、在学习opencv的时候看到多通道矩阵这一概率,恳求大神告诉我一下什么意思_百度知道.html(https://zhidao.baidu.com/question/807614367381163692.html)

1.2、【OpenCV学习】多通道矩阵的赋值和取值 - gnuhpc - 博客园.html(https://www.cnblogs.com/gnuhpc/archive/2012/12/07/2806643.html)
2、ROI (学习OpenCV.pdf)
ROI(感兴趣区域)_百度百科.html(https://baike.baidu.com/item/ROI/1125333?fr=aladdin)

ZC:Pdf.P81(书.P50) 有关于 ROI的知识 和 COI的知识
3、通道 (学习OpenCV.pdf) Pdf.P78(书.P47)


ZC:"n×3"应该就是 上图中 左边的那个样子,"3×n"应该是如下样子:
x0 x1 x2 x3 x4 x5 x6 x7 x8 x9
y0 y1 y2 y3 y4 y5 y6 y7 y8 y9
z0 z1 z2 z3 z4 z5 z6 z7 z8 z9
ZC:但是 如果真是这样的话,通道 又不太好理解了:这里 "n×3"和"3×n" 都是 单通道,"n×3" 正好 连续的 x0 y0 z0 为一组,这样访问起来 效率最高,应该就是 "运行最快的索引",但是 "3×n"的 x0 y0 z0 它们的内存不连续 不好理解...
ZC:个人 结合上面的图的理解:"n×1"和"1×n"都是1维的 而每次 读却需要读3个浮点 ∴需要3通道。
ZC: 而 "n×3"和"3×n" 都是2维的 可以每次读3个浮点 于是只需要 单通道
ZC: 这个理解 还是觉得 不对... 而且 不能解释 "3×n" 中 x0 y0 z0 中不连续的现象...

ZC:C维对象 的 N维数组、1维对象 的 (N+C)维数组
ZC:
3.1、Pdf.P69 书.P38

ZC:CV_32FC1:32位 浮点数 通道数为1 (C:channels)
3.2、关于 3通道的 操作(HSV和RGB是3通道的吗??),见 Pdf.P82(书.P51), 3通道的 就是 H、S、V连续存放?R、G、B也是一样 连续存放?
ZC:后面的讲解 有说 HSV是3通道的,及公式 3*x+c 。
3.2.1、Pdf.P82(书.P51) CvMat.data(类型不定) 和 IplImage.imageData(类型固定uchar*) 的区别,操作时的注意点
4、掩码 / 模板 Pdf.P85(书.P54)
ZC:暂时不理解 讲的是什么...
5、矩阵和图像 基本操作





6、in place Pdf.P162(书.P131)
看到这个“in place”不明白什么意思... 度娘了一下(本阶段bwg没了没有翻墙),得到有以下资料:
6.1、Python中inplace=True的理解-CSDN论坛.html(https://bbs.csdn.net/topics/392311627?page=1)
inplace参数的理解:
修改一个对象时:
inplace=True:不创建新的对象,直接对原始对象进行修改;
inplace=False:对数据进行修改,创建并返回新的对象承载其修改结果。
6.2、in-place操作 - ZhangRui的博客 - CSDN博客.html(https://blog.csdn.net/u011489043/article/details/70197020)
in-place操作,意思是所有的操作都是“就地”操作,不允许进行移动,或者称作 原位操作,即不允许使用临时变量。
ZC:其实 在 Pdf.P162 中 作者也说明了这个意思:“简单无缩放变换的模糊不支持 in place 方式:输入图像与结果必须不同。(在8位和16位情况下,明显不能用 in place 方式;用32位图像时,也保持这一规定。)”
7、IPL_DEPTH_16S, CV_16S、IPL_DEPTH_32S, CV_32S (Pdf.P162 书.P131)
Pdf.P71(书.P40)
Pdf.P80(书.P49) “表3-2:OpenCV图像类型”

opencv中的数据类型 - dupuleng - 博客园.html(https://www.cnblogs.com/dupuleng/articles/4072736.html)
ZC:CV_16S、CV_32S 是用于 矩阵的(CvMat Pdf.P69 书.P38)
Pdf.P72 书.P41:CV_32FC1
Pdf.P78 书.P47:CV32FC2、CV32FC3
ZC:IPL_DEPTH_16S、CV_16S、IPL_DEPTH_32S 是用于 IplImage的(Pdf.P80 书.P49)
ZC:上面的我的观点:"CV_16S等 用于矩阵,IPL_DEPTH_16S等 用于IplImage",不知是否正确(先不管它),在 PDF.P69(书.P38)中 有说到:
ZC: "CV_<bit_depth>(S|U|F)C<number_of_channels>",从英文可见 "CV_16S"中的数字"16"就是“位深度”(在某些时候 是否就是能理解成“深度”?)
ZC: <<OpenCV3编程入门>>的相关内容 在PDF.P106(书.P89):“CV_[The number of bits per item][Signed or Unsigned][Type Prefix]C[The chanel number] 即:CV_[位数][带符号与否][类型前缀]C[通道数]”
// ZC: types_c.h 中可见 CV_8UC1 实际上就是 CV_8U的
#define CV_8U 0
#define CV_8UC1 CV_MAKETYPE(CV_8U,1)
#define CV_CN_SHIFT 3
#define CV_DEPTH_MAX (1 << CV_CN_SHIFT) // ZC: 0000 1000
#define CV_8U 0 #define CV_MAT_DEPTH_MASK (CV_DEPTH_MAX - 1) // ZC: 0000 0111
#define CV_MAT_DEPTH(flags) ((flags) & CV_MAT_DEPTH_MASK) #define CV_MAKETYPE(depth,cn) (CV_MAT_DEPTH(depth) + (((cn)-1) << CV_CN_SHIFT)) #define CV_8UC1 CV_MAKETYPE(CV_8U,1)
ZC:精简下来是这个样子:
#define Z_CV_MAT_DEPTH(flags) ((flags) & 0x7)
#define Z_CV_MAKETYPE(depth, cn) (Z_CV_MAT_DEPTH(depth) + (((cn)-1) << 3))
矩阵数据的存取
简单的方法
Pdf.P72 书.P41 “例3-4:利用 CV_MAT_ELEM() 宏存取矩阵”
Pdf.P73 书.P42 “例3-5:利用宏 CV_MAT_ELEM_PTR() 为矩阵设置一个数值”
麻烦的方法
Pdf.P73 书.P42 “例3-6:指针访问矩阵结构”
Pdf.P74 书.P43 “例3-7:CvMat 和 IplImage 元素函数”
Pdf.P75 书.P44 “例3-8:为 CvMat 或者 IplImage 元素设定值的函数”
恰当的方法
Pdf.P76 书.P45 “例3-9:累加一个三通道矩阵中的所有元素”
ZC:循环访问 矩阵中所有元素
Pdf.P81 书.P50 “访问图像数据”
Pdf.P82 书.P51

8、Pdf.P159(书.P128) 平滑处理(模糊处理(blurring))
频率很高的图像处理方法。最常见的是用来 减少图像上的 噪声 或者 失真。降低分辨率时平滑处理是很重要的(在本章的“图像金字塔”部分会详细介绍这一点)。
ZC:这一节内容 整个都不太明白,网上也找不到 书上实验用的图片... 然后 到 Pdf.P163(书.P132)讲到 “高斯卷积和的sigma值” 的时候 就更笨不明白他在讲什么了...
9、Pdf.P165 图像形态学
10、
OpenCV.概念(读书笔记)的更多相关文章
- 《Mastering Opencv ...读书笔记系列》车牌识别(II)
http://blog.csdn.net/jinshengtao/article/details/17954427 <Mastering Opencv ...读书笔记系列>车牌识别(I ...
- 《Mastering Opencv ...读书笔记系列》车牌识别(I)
http://blog.csdn.net/jinshengtao/article/details/17883075/ <Mastering Opencv ...读书笔记系列>车牌识别(I ...
- 【python下使用OpenCV实现计算机视觉读书笔记1】输入输出
说明: 该部分内容为<OpenCV Computer Vision with Python>读书笔记. 1.读入文件与保存. import cv2 image=cv2.imread('a. ...
- 《Android开发艺术探索》读书笔记 (13) 第13章 综合技术、第14章 JNI和NDK编程、第15章 Android性能优化
第13章 综合技术 13.1 使用CrashHandler来获取应用的Crash信息 (1)应用发生Crash在所难免,但是如何采集crash信息以供后续开发处理这类问题呢?利用Thread类的set ...
- 读书笔记之:C++ Primer (第4版)及习题(ch12-ch18) [++++]
读书笔记之:C++ Primer (第4版)及习题(ch12-ch18) [++++] 第12章 类 1. 类的声明与定义:前向声明,不完全类型 2. 从const函数返回*this 3. 可变数据成 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
- 《3D Math Primer for Graphics and Game Development》读书笔记1
<3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...
随机推荐
- 基于Flask和百度AI实现与机器人对话
实现对话机器人主要有个步骤 : 一.前端收集语音传入后端 二.后端基于百度AI接口进行语音识别,转换成文字 三.对文字进行自定义验证或通过图灵端口进行处理,生成回复内容 四.将文字通过百度AI接口合成 ...
- airflow--Error: Already running on PID 22603 (or pid file '/home/rdev/airflow/airflow-webserver.pid' is stale)
kill这个残留进程然后直接重新启动airflow webserver就OK (wqbin) rdev@testhk1:~/etl/py_etl/warehouse$ cat /home/rdev/a ...
- BZOJ 4029 [HEOI2015] 定价 ( 数位DP/贪心 )
前言 最近学了数位DP,感觉挺简单又实用.这道题就比较水,可以用300B的贪心过掉-网上似乎大多是贪心的题解,我就写写DP的做法 题意 给出正整数区间[L,R][L,R][L,R],定义荒谬值为 (去 ...
- python自动华 (十八)
Python自动化 [第十八篇]:JavaScript 正则表达式及Django初识 本节内容 JavaScript 正则表达式 Django初识 正则表达式 1.定义正则表达式 /.../ 用于定 ...
- 【题解】P1638 逛画展-C++
原题传送门 思路这道题目可以通过尺取法来完成 (我才不管什么必须用队列)什么是尺取法呢?顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后 ...
- resize([[data],fn]) 当调整浏览器窗口的大小时,发生 resize 事件。
resize([[data],fn]) 概述 当调整浏览器窗口的大小时,发生 resize 事件. 参数 fnFunctionV1.0 在每一个匹配元素的resize事件中绑定的处理函数.直线电机 ...
- xgzc— math 专题训练(二)
费马小定理&欧拉定理 费马小定理: 如果\(p\)是一个质数,而整数\(a\)不是\(p\)的倍数,\(a^{p-1}\equiv1\pmod p\) 欧拉定理: 当\(a\)与\(n\)互质 ...
- SSRF漏洞攻击利用从浅到深
梳理一下ssrf 不详细 简单记录 0x01 SSRF成因和基本利用0x02 内网打未授权redis0x03 关于ssrf打授权的redis0x04 写redis shell和密钥的一点问题0x05 ...
- 什么是Servlet容器?
在本文中,我写了一些关于Web服务器.Servlet容器以及它与JVM的关系的基本概念.我想表达的是,Servlet容器也仅仅不过是一个Java程序. 1. 什么是Web服务器? 想要知道什么是Ser ...
- [oracle]oracle表在什么情况下会被锁住(转载)
DML锁又可以分为,行锁.表锁.死锁 行锁:当事务执行数据库插入.更新.删除操作时,该事务自动获得操作表中操作行的排它锁. 表级锁:当事务获得行锁后,此事务也将自动获得该行的表锁(共享锁),以防止其它 ...