Skip to content

Commit 9798606

Browse files
committed
fix 44-51
1 parent 75c472f commit 9798606

34 files changed

Lines changed: 130 additions & 37 deletions

File tree

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# 关于OpenCV
2+
3+
OpenCV于1999年由Gary Bradsky在英特尔启动,2000年第一个版本发布。Vadim Pisarevsky加入了Gary Bradsky,负责管理英特尔的俄罗斯软件OpenCV团队。
4+
5+
2005年,OpenCV被用于赢得[2005年DARPA大挑战赛](https://en.wikipedia.org/wiki/DARPA_Grand_Challenge_(2005))的车辆。后来,它的积极发展继续在Willow Garage的支持下与Gary Bradsky和Vadim Pisarevsky领导该项目。OpenCV现在支持与计算机视觉和机器学习相关的许多算法,并且日益扩大。
6+
7+
OpenCV支持各种各样的编程语言,如C ++,Python,Java等,并且可以在包括Windows,Linux,OS X,Android和iOS在内的不同平台上使用。基于CUDA和OpenCL的高速GPU操作接口也在积极的发展。
8+
9+
OpenCV-Python是OpenCV的Python API,结合了OpenCV C ++ API的最佳特性和Python语言。
10+
11+
## OpenCV中的Python
12+
13+
OpenCV-Python是一个用于解决计算机视觉问题的Python绑定库。
14+
15+
Python是由Guido van Rossum开始的通用编程语言,它非常流行,主要是因为它的简单性和代码可读性。它使程序员能够在更少的代码行中表达想法,而不会降低可读性。
16+
17+
与C / C ++等语言相比,Python速度较慢。也就是说,Python可以通过C / C ++轻松扩展,这使得我们可以在C / C ++中编写计算密集型代码,并创建可用作Python模块的Python包装。这给了我们两个优点:第一,代码与原始C / C ++代码一样快(因为它是实际的C ++代码在后台工作),其次,它比Python C / C ++更容易编码。OpenCV-Python是原始OpenCV C ++实现的Python包装器。
18+
19+
OpenCV-Python使用Numpy,它是一个高度优化的库,用于使用MATLAB风格的语法进行数值运算。所有OpenCV阵列结构都转换成Numpy数组。这也使得与使用Numpy的其他库(如SciPy和Matplotlib)更容易集成。
20+
21+
## OpenCV-Python教程
22+
23+
OpenCV引入了一套新的教程,它将引导您了解OpenCV-Python中可用的各种功能。本指南主要集中在OpenCV 3.x版本(尽管大多数教程也将与OpenCV 2.x一起使用)。
24+
25+
推荐使用Python和Numpy的以前的知识,因为本指南将不会介绍。熟练使用Numpy是必须的,以便使用OpenCV-Python编写优化的代码。
26+
27+
本教程最初由Abid Rahman K.开始,是Alexander Mordvintsev指导下的“Google Summer Code”计划的一部分。
28+
29+
## OpenCV需要你!
30+
31+
由于OpenCV是一个开源计划,欢迎所有人对图书馆,文档和教程做出贡献。如果您在本教程中发现任何错误(从小的拼写错误到代码或概念中的严重错误),请通过在GitHub中克隆OpenCV 并提交引用请求来随意更正。OpenCV开发人员将检查您的拉动请求,给您重要的反馈意见(一旦通过审核人员的批准),它将被合并到OpenCV中。然后,您将成为一个开源的贡献者 :-)
32+
33+
随着新模块被添加到OpenCV-Python,本教程将不得不进行扩展。如果您熟悉一个特定的算法,并且可以编写一个教程,包括算法的基本原理和示例使用的代码,请执行此操作。
34+
35+
记住,我们一起可以使这个项目取得圆满成功!
36+
37+
## 贡献者
38+
39+
以下是向OpenCV-Python提交教程的贡献者列表。
40+
41+
* Alexander Mordvintsev(GSoC-2013导师)
42+
* Abid Rahman K.(GSoC-2013实习生)
43+
44+
## 其他资源
45+
* Python的快速指南 - Python的[一个字节](http://swaroopch.com/notes/python/)
46+
* [基本的Numpy教程](http://wiki.scipy.org/Tentative_NumPy_Tutorial)
47+
* [Numpy示例列表](http://wiki.scipy.org/Numpy_Example_List)
48+
* [OpenCV文档](http://docs.opencv.org/)
49+
* [OpenCV论坛](http://answers.opencv.org/questions/)

ch01-关于OpenCV/OpenCV简介-历史.txt

Whitespace-only changes.

ch05-视频/5.VideoCapture.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
ret, frame = cap.read() # ret 返回一个布尔值 True/False
3434
# print('frame shape:',frame.shape)#(720, 1280, 3)
3535

36-
frame = cv2.flip(frame, flipCode=1) # 上下颠倒
36+
frame = cv2.flip(frame, flipCode=1) # 左右翻转
3737
# flipCode:翻转方向:1:水平翻转;0:垂直翻转;-1:水平垂直翻转
3838

3939
# Our operations on the frame come here

ch05-视频/5.VideoPlay.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import numpy as np
22
import cv2
33

4-
# cap = cv2.VideoCapture('vtest.avi')
5-
cap = cv2.VideoCapture('output.avi')
4+
cap = cv2.VideoCapture('../data/vtest.avi')
5+
# cap = cv2.VideoCapture('output.avi')
66
# cap = cv2.VideoCapture('Minions_banana.mp4')
77

88
while (cap.isOpened()):

ch08-用滑动条做调色板/8.createTrackbar.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,6 @@ def nothing(x):
2323
# 只有当 转换按钮 指向 ON 时 滑动条的滑动才有用,否则窗户 都是黑的。
2424

2525
while True:
26-
cv2.imshow('image', img)
27-
k = cv2.waitKey(1) # & 0xFF
28-
if k == ord("q"):
29-
break
3026

3127
# get current positions of four trackbars
3228
r = cv2.getTrackbarPos('R', 'image')
@@ -39,4 +35,9 @@ def nothing(x):
3935
else:
4036
img[:] = [b, g, r]
4137

38+
cv2.imshow('image', img)
39+
k = cv2.waitKey(1) # & 0xFF
40+
if k == ord("q"):
41+
break
42+
4243
cv2.destroyAllWindows()

ch44-对极几何/code.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,11 @@ def drawlines(img1, img2, lines, pts1, pts2):
4949

5050
img1 = cv2.imread('myleft.jpg', 0) # queryimage # left image
5151
img2 = cv2.imread('myright.jpg', 0) # trainimage # right image
52-
sift = cv2.SIFT()
52+
sift = cv2.xfeatures2d.SIFT_create()
5353
# find the keypoints and descriptors with SIFT
54-
kp1, des1 = sift.detectAndCompute(img1, None)
54+
kp1, des1 = sift.detectAndCompute(img1, None)#TODO
5555
kp2, des2 = sift.detectAndCompute(img2, None)
56+
5657
# FLANN parameters
5758
FLANN_INDEX_KDTREE = 0
5859
index_params = dict(algorithm=FLANN_INDEX_KDTREE, trees=5)

ch45-立体图像中的深度地图/code.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,14 @@
1818
imgL = cv2.imread('tsukuba_l.png', 0)
1919
imgR = cv2.imread('tsukuba_r.png', 0)
2020

21+
#参数不对?
2122
stereo = cv2.StereoBM_create(numDisparities=16, blockSize=15)
23+
# stereo = cv2.StereoBM_create(numDisparities=16, blockSize=21)
2224
disparity = stereo.compute(imgL, imgR)
2325

26+
#不行
2427
plt.imshow(disparity, 'gray')
2528
plt.show()
2629

30+
# cv2.imshow('disparity',disparity)
31+
# cv2.waitKey(0)
293 KB
Loading
293 KB
Loading

ch46-机器学习-K近邻/1-kNN.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
plt.scatter(blue[:, 0], blue[:, 1], 80, 'b', 's')
3434
plt.show()
3535

36-
#测试数据被标记为绿色
36+
# 测试数据被标记为绿色
3737
# # 回值包括
3838
# 1. 由 kNN算法计算得到的测 数据的类别标志0或1 。
3939
# 如果你想使用最近邻算法 只需 将 k 置为 1 k 就是最近邻的数目。
@@ -50,9 +50,9 @@
5050
print("distance: ", dist)
5151
plt.show()
5252

53-
#如果我们有大 的数据 测 可以直接传入一个数组。对应的结果 同样也是数组
53+
# 如果我们有大 的数据 测 可以直接传入一个数组。对应的结果 同样也是数组
5454

5555
# 10 new comers
56-
newcomers = np.random.randint(0,100,(10,2)).astype(np.float32)
57-
ret, results,neighbours,dist = knn.findNearest(newcomer, 3)
56+
newcomers = np.random.randint(0, 100, (10, 2)).astype(np.float32)
57+
ret, results, neighbours, dist = knn.findNearest(newcomer, 3)
5858
# The results also will contain 10 labels.

0 commit comments

Comments
 (0)