通过opencv的python接口来,调用opencv函数实现,对图片的载入,显示,颜色转换和保存等
由于:opencv中使用到了python的许多第三方插件,例如 numpy等,以上链接均提供相应配置
一.读图
opencv提供了一个很简单的读图方法, cv2.imread(path)
img = cv2.imread("test1.jpg")
二.显示
opencv 中显示图片需要两步
1.创建一个窗口
cv2.namedWindow("myImage")
2.将图片显示到窗口上
cv2.imshow("myImage",img)
为了防止一闪而过
cv2.waitKey(0) #暂停一下
关闭所有窗口
cv2.destroyAllWindows()
三.色彩变换
opencv中提供了方法 cvtColor(img,cv2.COLOR_RGB2HSV) 创建图像副本,同时也可以对图片进行色彩变换
emptyImage3 = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
有个小的规律,cv.COLOR 后面的东西都有个 2 (two) –> to 即:从什么转化成什么具体转换如下图:(图借鉴的)
四.存储
存储,可以使用opencv中的 imwrite(path,img,[int(cv2.IMWRITE_JPEG_QUALITY), 100])
第三个是可选参数不填则默认按照原格式保存
cv2.imwrite("C:/test/save.jpg", img,[int(cv2.IMWRITE_JPEG_QUALITY), 100])
特定格式保存的参数编码:
JPEG:params表示0到100的图片质量(CV_IMWRITE_JPEG_QUALITY),默认值为95;
PNG:params表示压缩级别(CV_IMWRITE_PNG_COMPRESSION),从0到9,其值越大,压缩尺寸越小,压缩时间越长;
PPM / PGM / PBM:params表示二进制格式标志(CV_IMWRITE_PXM_BINARY),取值为0或1,默认值是1。
测试案例
#coding=utf-8
#
# 使用opencv做一个小案例,实现
# 对图片的读取,显示,
# 图片色彩转化 从RGB转换为HSV
# 存储
import cv2
#读图 中文路精可能有问题
img = cv2.imread('C:/test/opencvTest/demoCV1/test.jpg')
# 创建窗口
cv2.namedWindow('imgTest1')
# 显示
cv2.imshow('imgTest1',img)
# 色彩转换
img2 = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
# 创建窗口
cv2.namedWindow('imgTest2')
# 显示
cv2.imshow('imgTest2',img2)
#暂停
cv2.waitKey(0)
#关闭所有窗口
cv2.destroyAllWindows()
#存储位jpg格式,,缩小比率为 0.8
cv2.imwrite("C:/test/opencvTest/demoCV1/save.jpg", img2,[int(cv2.IMWRITE_JPEG_QUALITY), 80])
测试结果:
参考文章:
http://blog.csdn.net/sunny2038/article/details/9057415