Skip to content

Commit 1e4ad7a

Browse files
committed
OpenCV-Python教程、源码迁移 2018年10月2日
0 parents  commit 1e4ad7a

File tree

106 files changed

+1890
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

106 files changed

+1890
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
wiki/
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// More: http://ex2tron.top
2+
3+
#include "stdafx.h"
4+
#include <opencv2\opencv.hpp>
5+
6+
using namespace cv;
7+
using namespace std;
8+
9+
int main()
10+
{
11+
// 开始计时
12+
int start = getTickCount();
13+
14+
// 读入一张图片并调整对比度和亮度
15+
Mat gSrcImage = imread("lena.jpg");
16+
Mat gDstImage = Mat::zeros(gSrcImage.size(), gSrcImage.type());
17+
18+
//1.访问每一个像素的方式
19+
for (int y = 0; y < gSrcImage.rows; y++)
20+
{
21+
for (int x = 0; x < gSrcImage.cols; x++)
22+
{
23+
for (int c = 0; c < 3; c++)
24+
{
25+
gDstImage.at<Vec3b>(y, x)[c] = saturate_cast<uchar>(0.8 * gSrcImage.at<Vec3b>(y, x)[c] + 80);
26+
}
27+
}
28+
}
29+
30+
//2.最快速的方式
31+
//gSrcImage.convertTo(gDstImage, -1, 0.8, 80);
32+
33+
// 停止计时
34+
int end = getTickCount();
35+
36+
// 单位:s
37+
double time = (end - start) / getTickFrequency();
38+
printf("%f", time);
39+
40+
getchar();
41+
return 0;
42+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# More: http://ex2tron.top
2+
3+
import cv2
4+
import numpy as np
5+
6+
# 开始计时
7+
start = cv2.getTickCount()
8+
9+
# 读入一张图片并调整对比度和亮度
10+
img = cv2.imread('lena.jpg')
11+
res = np.uint8(np.clip((0.8 * img + 80), 0, 255))
12+
13+
# 停止计时
14+
end = cv2.getTickCount()
15+
16+
# 单位:s
17+
print((end - start) / cv2.getTickFrequency())
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// More: http://ex2tron.top
2+
3+
#include "stdafx.h"
4+
#include <opencv2\opencv.hpp>
5+
6+
using namespace cv;
7+
using namespace std;
8+
9+
int main()
10+
{
11+
// 开始计时
12+
int start = getTickCount();
13+
14+
// 读入一张图片
15+
Mat gSrcImage = imread("lena.jpg");
16+
17+
// 停止计时
18+
int end = getTickCount();
19+
20+
// 单位:s
21+
double time = (end - start) / getTickFrequency();
22+
printf("%f", time);
23+
24+
getchar();
25+
return 0;
26+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# More: http://ex2tron.top
2+
3+
import cv2
4+
5+
# 开始计时
6+
start = cv2.getTickCount()
7+
8+
# 读入一张图片
9+
img = cv2.imread('lena.jpg')
10+
11+
# 停止计时
12+
end = cv2.getTickCount()
13+
14+
# 单位:s
15+
print((end - start) / cv2.getTickFrequency())

01. 简介与安装/lena.jpg

30.8 KB
Loading
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# More: http://ex2tron.top
2+
3+
import cv2
4+
5+
img = cv2.imread('lena.jpg')
6+
cv2.imshow('lena', img)
7+
8+
k = cv2.waitKey(0)
9+
# ord用来获取某个字符的编码
10+
if k == ord('s'):
11+
cv2.imwrite('lena_save.bmp', img)
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# More: http://ex2tron.top
2+
3+
import cv2
4+
5+
# 1.灰度图加载一张彩色图
6+
img = cv2.imread('lena.jpg', 0)
7+
8+
9+
# 2.显示图片
10+
cv2.imshow('lena', img)
11+
cv2.waitKey(0)
12+
13+
# 先定义窗口,后显示图片
14+
cv2.namedWindow('lena2', cv2.WINDOW_NORMAL)
15+
cv2.imshow('lena2', img)
16+
cv2.waitKey(0)
17+
18+
19+
# 3.保存图片
20+
cv2.imwrite('lena_gray.jpg', img)

02. 基本元素-图片/lena.jpg

49.8 KB
Loading
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# More: http://ex2tron.top
2+
3+
import cv2
4+
5+
# 1.打开摄像头
6+
capture = cv2.VideoCapture(2)
7+
8+
# 2.获取捕获的分辨率
9+
width, height = capture.get(3), capture.get(4)
10+
print(width, height)
11+
# 以原分辨率的一倍来捕获,
12+
# 参数1可以直接写数字,或者OpenCV符号表示
13+
capture.set(cv2.CAP_PROP_FRAME_WIDTH, width * 2)
14+
capture.set(cv2.CAP_PROP_FRAME_HEIGHT, height * 2)
15+
16+
while(True):
17+
# 获取一帧
18+
ret, frame = capture.read()
19+
# 将这帧转换为灰度图
20+
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
21+
22+
cv2.imshow('frame', gray)
23+
if cv2.waitKey(1) == ord('q'):
24+
break

0 commit comments

Comments
 (0)