Python-opencv: 图像简单处理

25 篇文章 6 订阅

一、图像尺寸

图像的大小可以通过其shape属性来获取,shape返回的是一个tuple元组,第一个元素表示图像的高度,第二个表示图像的宽度,第三个表示像素的通道数。

示例:

if __name__ == '__main__':
    dirfile = 'dataset/data/TrainData/001.bmp'
    img = cv2.imread(dirfile)
    size = img.shape
    print size
运行结果:(800,645,3) 

二、读取图像

在python中不需要声明变量,知道图像的具体位置就可以通过imread()直接读取;目前opencv支持读取bmp、jpg、png等常用的一些格式,更详细的内容请参考opencv的参考文档。

image = cv2.imread('F:/001.nmp') 

三、显示图像

首先创建一个新的窗口用于显示图像:

cv2.namedWindow('showimage')

然后在窗口中显示图像:

cv2.imshow("Image",i)

cv2.waitKey(0)

如果不加cv2.waitKey(0),你们在IDLE中的执行窗口直接无响应,在命令行中执行的时候就会一闪而过。最后一句加上cv2.destroyALLWindows()的话,就能释放窗口了。

四、保存图像

cv2.imwrite(F:/images',image,[int(cv2.IMWRITE_JPEG_QUALITY),5])

三个参数分别对应保存的路径及文件名、图像矩阵、指定格式(对于JPEG,其表示的是图像的质量,

用0-100的整数表示,默认为95。 注意,cv2.IMWRITE_JPEG_QUALITY类型为Long,必须转换成int;对于PNG,第三个参数表示的是压缩级别。cv2.IMWRITE_PNG_COMPRESSION,从0到9,压缩级别越高,图像尺寸越小。这个是可选参数)
五、复制图像

当然也可以直接复制原来的图像到一张新的图像上: image = img.copy()

也可以用cvtColor获取原图像的副本: image = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

六 改变图片尺寸

Code :

import cv2

pic = cv2.imread('./Elegent_Girl.jpg')

pic = cv2.resize(pic, (400, 400), interpolation=cv2.INTER_CUBIC)

cv2.imshow('', pic)

cv2.waitKey(0)

cv2.destroyAllWindows() 

========================

interpolation - 插值方法。共有5种:

1)INTER_NEAREST - 最近邻插值法

2)INTER_LINEAR - 双线性插值法(默认)

3)INTER_AREA - 基于局部像素的重采样(resampling using pixel area relation)。对于图像抽取(image decimation)来说,这可能是一个更好的方法。但如果是放大图像时,它和最近邻法的效果类似。

4)INTER_CUBIC - 基于4x4像素邻域的3次插值法

5)INTER_LANCZOS4 - 基于8x8像素邻域的Lanczos插值

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值