首页 > 技术文章 > 计算机视觉入门

wydxry 2019-05-19 16:50 原文

测试案例:测试tensorflow和opencv是否在python环境下安装成功。测试代码如下:

 1 # encoding:utf-8
 2 
 3 # 测试tensorflow和OpenCV
 4 
 5 import tensorflow as tf
 6 hello = tf.constant('hello tf!')
 7 sess = tf.Session()
 8 print(sess.run(hello))
 9 
10 import cv2
11 print('hello opencv')

相关包安装成功,运行效果如下图所示:

 

案例1:图片的读取和展示,测试代码如下:

 1 # encoding:utf-8
 2 
 3 # 引入OpenCV api
 4 import cv2
 5 # 1.文件的读取
 6 # 2.文件封装格式的解析
 7 # 3.文件数据的解码
 8 # 4.数据的加载
 9 img = cv2.imread('image0.JPG')  # 读取图片
10 cv2.imshow('image2', img)  # 取名字为image2
11 cv2.waitKey(0)  # 暂停暂时图片

运行效果截图如下图所示:(图中的圈表示之前所取的图片名)

案例2:图片的写入,测试代码如下:

1 # encoding:utf-8
2 
3 # 引入OpenCVapi
4 import cv2
5 
6 img = cv2.imread('image0.JPG', 1)  # 1表示是彩色图片
7 cv2.imwrite('image1.jpg', img)  # 写入的图片 新生成的图片名为image1.jpg
8 print(cv2.imwrite('image1.jpg', img))  # 打印出True表示写入成功

案例3:不同图片质量保存,测试代码如下:

 1 # encoding:utf-8
 2 
 3 import cv2
 4 img = cv2.imread('image0.jpg', 1)
 5 # JPEG 有损压缩 质量范围是0-100 数值越大文件越大
 6 cv2.imwrite('imageTest1.jpg', img, [cv2.IMWRITE_JPEG_QUALITY, 0])
 7 cv2.imwrite('imageTest2.jpg', img, [cv2.IMWRITE_JPEG_QUALITY, 10])
 8 cv2.imwrite('imageTest3.jpg', img, [cv2.IMWRITE_JPEG_QUALITY, 100])
 9 
10 # jpg 0 压缩比高 范围0-100
11 # PNG 0 压缩比低 范围0-9
12 cv2.imwrite('imageTest4.png', img, [cv2.IMWRITE_PNG_COMPRESSION, 0])
13 cv2.imwrite('imageTest4.png', img, [cv2.IMWRITE_PNG_COMPRESSION, 5])

 案例4:像素读取和写入,测试代码如下:

 1 # encoding:utf-8
 2 
 3 # 像素
 4 # RGB 三种颜色分量 256的三次方这么多颜色
 5 # 颜色深度 8bit 0-255
 6 # w h 640*480
 7 # 1.14M = 720*547*3*8 bit/8 (B) =1.14M
 8 # RGB alpha 透明度
 9 # RGB bgr
10 # bgr b g r
11 import cv2
12 img = cv2.imread('image0.jpg', 1)
13 (b, g, r) = img[100, 100]
14 print(b)  # 打印蓝色分量数值
15 print(g)  # 打印绿色分量数值
16 print(r)  # 打印红色分量数值
17 
18 # 画一条蓝色的线从点(10,100)到点(110,100)
19 for i in range(1, 100):
20     img[10+i, 100] = (255, 0, 0)  # 蓝色
21 cv2.imshow('image', img)
22 cv2.waitKey(0)

运行效果见下图:(三个数值分别表示像素点(100,100)的蓝色通道的数值,绿色通道的数值,红色通道的数值,第二个图可以很明显看到圈中新写入一条蓝色的线)

 

推荐阅读