·導入:
import cv2
·讀取圖片:
img = cv2.imread('路徑')
使用函數cv2.imread(filepath,flags)讀入一副圖片
filepath:要讀入圖片的完整路徑
flags:讀入圖片的標志
cv2.IMREAD_COLOR:默認參數,讀入一副彩色圖片,忽略alpha通道
cv2.IMREAD_GRAYSCALE:讀入灰度圖片
cv2.IMREAD_UNCHANGED:顧名思義,讀入完整圖片,包括alpha通道
import numpy as npimport cv2img = cv2.imread(‘1.jpg’,cv2.IMREAD_GRAYSCALE)
·獲取圖片大小:
x, y, z = img.shape
·縮放圖片:
cv2.resize(InputArray src, OutputArray dst, Size, fx, fy, interpolation)
具體參數:
InputArray src | 輸入圖片 |
---|---|
OutputArray dst | 輸出圖片 |
Size | 輸出圖片尺寸 |
fx, fy | 沿x軸,y軸的縮放系數 |
interpolation | 插入方式 |
INTER_NEAREST | 最近鄰插值 |
---|---|
INTER_LINEAR | 雙線性插值(默認設置) |
INTER_AREA | 使用像素區域關系進行重采樣。 |
INTER_CUBIC | 4x4像素鄰域的雙三次插值 |
INTER_LANCZOS4 | 8x8像素鄰域的Lanczos插值 |
舉個例子:
img_test = cv2.resize(img, (0, 0), fx=0.25, fy=0.25, interpolation=cv2.INTER_NEAREST)
img_test = cv2.resize(img_test, (0, 0), fx=4, fy=4, interpolation=cv2.INTER_NEAREST)
·展示圖片:
cv2.imshow('窗口名', img)
cv2.waitKey()
cv2.destroyAllWindows()
·灰度圖彩圖轉換:
RGB轉灰度:
img2 = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
灰度轉RBG:
img3 = cv2.cv2Color(img, cv2.COLOR_GRAY2RGB)
·解決關閉窗口后程序不停止的問題:還沒找到
·保存圖片:
cv2.imwrite(filepath, img, flag)
filepath: 保存路徑
img: 圖像
flag:參數
可選的第三個參數,它針對特定的格式:對於JPEG,其表示的是圖像的質量,用0 - 100的整數表示,默認95;對於png ,第三個參數表示的是壓縮級別。默認為3.
注意:cv2.IMWRITE_JPEG_QUALITY類型為 long ,必須轉換成 int
cv2.IMWRITE_PNG_COMPRESSION, 從0到9 壓縮級別越高圖像越小。
·路徑拼接:
os.path.join()
os.path.join()函數:連接兩個或更多的路徑名組件
1.如果各組件名首字母不包含’/’,則函數會自動加上
2.如果有一個組件是一個絕對路徑,則在它之前的所有組件均會被舍棄
3.如果最后一個組件為空,則生成的路徑以一個’/’分隔符結尾
·補0
'''
原字符串左側對齊, 右側補零:
'''
str.ljust(width,'0')
input: '789'.ljust(32,'0')
output: '78900000000000000000000000000000'
'''
原字符串右側對齊, 左側補零:
方法一:
'''
str.rjust(width,'0')
input: '798'.rjust(32,'0')
output: '00000000000000000000000000000798'
'''
方法二:
'''
str.zfill(width)
input: '123'.zfill(32)
output:'00000000000000000000000000000123'
'''
方法三:
'''
'%07d' % n
input: '%032d' % 89
output:'00000000000000000000000000000089'
·循環:
for i in range x
for i in range(3)
:0 1 2
for i in range(1, 3)
:1 2