基本作业
(本周共计5个必做作业)
Q & A
1.Q: 视觉系统都有哪些构成要素? 以机械臂视觉控制系统为例,说明视觉系统的构成要素。
A: l 照明设备:光源 l 光源:室内光线或专用照明
l 成像设备:相机 l 相机:放在机械臂前端,单相机
l 处理设备:主机 l 主机:台式计算机或嵌入式处理器
l 算法软件:视觉处理系统 l 算法软件:使用C++或其它语言编写的视觉识别算法及程序
2.Q: 尝试从模仿人类视觉处理流程的角度,阐述本对课程内容组织的理解。进一步在网上搜索,找到自己认为学习过程中最值得参考的1-2本书(不要太厚)
A: Marr 视觉计算理论 :input image -> edge image -> 2and 1/2-D sketch -> 3-D model
图像采集(照明,颜色,图像采集过程)
->图像预处理(即基本图像处理方法:滤波,边缘,灰度直方图,直线检测)
->图像阈值分割,区域生长,图像描述 -------------完成基本的二维图像处理
->关键点及特征检测
->背景建模及运动估计--------------------------向2又1/2维的处理
->视觉成像模型与视觉几何基础,相机标定------------------------走向三维的必经之路
->图像拼接
->立体视觉-----------------------------------------------------三维
书籍:冈萨雷斯著,阮秋琦译,数字图像处理(第3版),2017
3.Q: 什么是光通量和辐照度?说明几个常见光源的光通量,以及几个常见照明环境的辐照度。
A: 光通量指人眼所能感觉到的辐射功率,它等于单位时间内某一波段 的辐射能量和该波段的相对视见率的乘积。
常见光源的光通量:太阳 3.566×1028 lm,LED灯(目前较为高效)110 lm/W,其数值定义是烛光在单位长度外单位圆上的辐射功率 烛光 12.56 lm
辐照度辐照度指投射到一平表面上的辐射通量密度。指到达一表平面上, 单位时间,单位面积上的辐射能。
常见照明环境的辐照度:黑夜 0.001—0.02 lux,家用摄像机标准照度 1400 lux,晴天室内
100~1000 lux (所以在室内摄影都需补光)
4. Q: 结合颜色空间示意图,简述HSI颜色空间中各通道的物理意义,并结合图像实例说明。
A: 色调H(Hue) 是描述纯色的属性(如红色、黄色等)
饱和度S(Saturation) 表示的是一种纯色被白光稀释的程度的度量
**亮度I(Intensity)**体现了无色的光强度概念,是一个主观的描述
5. Q: 说明彩色图像传感器及γ校正的基本原理。
A: 图像传感器在灵敏传感器上层安置RGB薄膜来吸收对应颜色的光,在RGB薄膜上我们再放置一个凹凸镜来进行聚集光线,此时我们得到对应颜色的灰度值,此外我们使用Bayer格式来存取其他的两个颜色分量的灰度值(以其周围其他颜色的平均值来近似代替)
由于人眼的视觉感应与照明值非线性对应,γ校正即对原始图像进行一种指数运算,将CCD线性转化为非线性尽量符合人的视觉,使用γ校正来进行更好的量化,使之符合人的视觉特征。
进阶作业
(本周共计3个一个扩展作业)
- 在计算机上安装OpenCV 3.0以上版本,为后续作业准备。开发语言可采用C++或Python。
Anaconda + PyCharm + OpenCV
Windows下直接pip install;
Mac OS 下pycharm里如法炮制,如果下载速度缓慢导致出错,请移步度娘如何通过国内镜像下载 - 创建第一个视觉程序“Hello,world!”,显示Lena图片。具体效果参看课程PPT。
import cv2
img = cv2.imread("./animal.jpg")
cv2.imshow('Hello World',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
附上飙车老爷爷 hiahiahia 我以后也要这么潇洒
import numpy as np
import cv2
image = cv2.imread("1231.jpg")
cv2.imshow("Original",image)
#高斯滤波
blurred = np.hstack([cv2.GaussianBlur(image,(3,3),0),
cv2.GaussianBlur(image,(5,5),0),
cv2.GaussianBlur(image,(7,7),0)
])
cv2.imshow("Gaussian",blurred)
cv2.waitKey(0)
---------------------
作者:jnulzl
来源:CSDN
原文:https://blog.csdn.net/jnulzl/article/details/47751983
版权声明:本文为博主原创文章,转载请附上博文链接!
Resize 改变大小
长宽分别缩小一半
image= cv2.resize(image,dsize=None, fx=0.5, fy = 0.5)
# dst = cv.resize( src, dsize[, dst[, fx[, fy[, interpolation]]]] ) 参数
具体参数介绍,下处更为详细
https://www.cnblogs.com/featherw/p/7607301.html
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
cv2.imshow("ToGray",gray)
- 对Lena图像,分解得到RGB分量及HSV分量,显示各分量,并对结果进行比较说明。
import numpy as np
import cv2
image = cv2.imread("1231.jpg")
#扩大缩小
image= cv2.resize(image,dsize=None, fx=0.5, fy = 0.5)
#转灰
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
#高斯滤波
blurred = np.hstack([cv2.GaussianBlur(image,(3,3),0),
cv2.GaussianBlur(image,(5,5),0),
cv2.GaussianBlur(image,(7,7),0)
])
#转换颜色模型
hsv = cv2.cvtColor(image,cv2.COLOR_BGR2HSV)
cv2.imshow("色调1",hsv[:,:,0])
cv2.imshow("饱和度2",hsv[:,:,1])
cv2.imshow("亮度3",hsv[:,:,2])
#输出BGR的通道分离
cv2.imshow("蓝分量4",image[:,:,0])
cv2.imshow("绿分量5",image[:,:,1])
cv2.imshow("红分量6",image[:,:,2])
cv2.imshow("Original",image)
#cv2.imshow("ToGray",gray)
#cv2.imshow("Gaussian",blurred)
cv2.waitKey(0)
Hue分量 红色部分就黑