一、概述
Pythoncv2是OpenCV的Python極客包,opencv-python是基於OpenCV的Python支持工具包。Pythoncv2提供了一系列的函數,其中imwrite是其中之一。該函數具有保存圖片的功能,可以將OpenCV中處理的圖像保存在本地硬碟。
二、函數參數
OpenCV的imwrite函數具有以下參數:
cv2.imwrite(filename, img, params=[int(1)])
- filename:要保存的文件名
- img:待保存的圖像
- params:保存圖像時指定的參數,默認值是1
其中,params參數是一個元組類型,含有多個圖像保存格式標誌,具體含義可以參考cv2.imencode()函數的幫助文檔。
三、代碼示例
import cv2 img = cv2.imread("test.jpg") cv2.imwrite("test_output.png", img)
以上代碼的作用是:讀取test.jpg文件,將處理後的圖像保存在test_output.png中。
四、注意事項
1、filename參數必須是一個帶有擴展名的文件名,如test.png、test.jpg等。
2、如果文件名中包含中文字元,則需要使用encode()方法將其轉換成bytes類型,如filename.encode(‘gbk’)。
3、如果文件名不存在,則函數不會報錯,但是保存失敗。
4、保存圖像時可以指定保存的格式。如需要保存為jpg格式,則可以指定params參數如下:
cv2.imwrite("test_output.jpg", img, [cv2.IMWRITE_JPEG_QUALITY, 90])
其中,cv2.IMWRITE_JPEG_QUALITY表示保存為JPEG格式,90表示保存的質量,範圍是0~100。
5、如果圖像中的數據類型是浮點型,需要將其乘以255,再轉換成整型類型進行保存,如下所示:
img = img.astype('float32') img = img*255 img = img.astype('uint8') cv2.imwrite("test_output.png", img)
五、總結
Pythoncv2.imwite函數可以方便地將OpenCV處理的圖像保存在本地硬碟上。完成保存操作前,需要注意參數的正確性及文件名的有效性。如果需要保存為其他格式,可以指定params參數。如果圖像數據類型為浮點型,需要進行相應的類型轉換才能夠保存成功。
原創文章,作者:HDGW,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/147396.html