Pythonのcv 2モジュール学習(転載)
12690 ワード
文書ディレクトリ一、読み込み画像 二、表示画像 三、保存画像 四、画像操作 1. 画像のスケーリングresize()関数の応用 一、画像を読み込む
関数
参照先: https://www.cnblogs.com/jyxbk/p/7651241.html https://www.cnblogs.com/shizhengwen/p/8719062.html 転載元:https://blog.csdn.net/nanhuaibeian/article/details/100938358
関数
cv2.imread(filepath,flags)
を使用して画像を読み込みます.import cv2
img = cv2.imread('1.jpg',cv2.IMREAD_GRAYSCALE)
- 1
- 2
filepath:
flags:
cv2.IMREAD_COLOR: , , alpha
cv2.IMREAD_GRAYSCALE:
cv2.IMREAD_UNCHANGED: , , alpha
- 1
- 2
- 3
- 4
- 5
二、显示图像
使用函数cv2.imshow(wname,img)
显示图像,第一个参数是显示图像的窗口的名字,第二个参数是要显示的图像(imread读入的图像),窗口大小自动调整为图片大小
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
#dv2.destroyWindow(wname)
- 1
- 2
- 3
- 4
cv2.waitKey , , , ASCII , 。 , -1。 0 。 waitKey , , 。
cv2.destroyAllWindow()
cv2.destroyWindow(wname)
- 1
- 2
- 3
三、保存图像
使用函数cv2.imwrite(file,img,num)
保存一个图像。
第一个参数是要保存的文件名,第二个参数是要保存的图像。
可选的第三个参数,它针对特定的格式:对于JPEG,其表示的是图像的质量,用0 - 100的整数表示,默认95;对于png ,第三个参数表示的是压缩级别。默认为3
注意:
cv2.IMWRITE_JPEG_QUALITY long , int
cv2.IMWRITE_PNG_COMPRESSION, 0 9
- 1
- 2
cv2.imwrite('1.png',img, [int( cv2.IMWRITE_JPEG_QUALITY), 95])
cv2.imwrite('1.png',img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])
- 1
- 2
四、图片操作
1. 图像的缩放 resize()函数的应用
cv2.resize(src,dsize,dst=None,fx=None,fy=None,interpolation=None)
scr:
dsize:
fx:
fy:
dst - 。 dsize 0 ,dst size; , src , fx fy 。dst (type) src
interpolation:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
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
- 1
- 2
- 3
- 4
- 5
- 6
示例:
"""
。
, (0.3, 0.5)
, (1.6, 1.2)
"""
import cv2
import os
if __name__ == '__main__':
img = cv2.imread("lena.jpg", -1)
if img == None:
print "Error: could not load image"
os._exit(0)
height, width = img.shape[:2]
#
size = (int(width*0.3), int(height*0.5))
shrink = cv2.resize(img, size, interpolation=cv2.INTER_AREA)
#
fx = 1.6
fy = 1.2
enlarge = cv2.resize(img, (0, 0), fx=fx, fy=fy, interpolation=cv2.INTER_CUBIC)
#
cv2.imshow("src", img)
cv2.imshow("shrink", shrink)
cv2.imshow("enlarge", enlarge)
cv2.waitKey(0)
参照先: