opencv基礎學習【1】--讀取并顯示圖片
宣告:這里是本人自學opencv時寫下來的筆記,同時參考并感謝博主【蛋片雞】:https://www.cnblogs.com/FHC1994,在他博客基礎進行修改加上自己理解補充,目的是為了更好的進步與學習,如有更多學習經驗和知識分享,歡迎評論,謝謝,
同時歡迎大家關注新博主github:https://github.com/Cqy-96 b站:https://space.bilibili.com/301389626【陽ger陽】
主要的環境是python3+opencv,下面開始第一節的筆記講解與實作,
代碼:
1 import cv2 as cv 2 3 src=https://www.cnblogs.com/Cqy-96/p/cv.imread('F:\opencv learn\p11.jpg')#讀取這個路徑的圖片 4 cv.namedWindow('Picture', cv.WINDOW_AUTOSIZE) #創建視窗 5 cv.imshow('Picture_show', src) #顯示圖片視窗 6 cv.waitKey(0)#視窗顯示時間,單位:毫秒 7 cv.destroyAllWindows()#洗掉建立的全部視窗,釋放資源
圖片:(思考:為什么有兩個視窗且內容不一樣?答案:往下看)

注意:如果有中文亂碼在代碼最上端寫上:#-*-coding:utf-8 -*-
函式及引數詳細說明:
1、cv.imread(const String& filename,int flags)
const String& filename:該引數表示的是圖片的地址 斜杠可以任意("/"、"\"、"\\"、"//")
在Windows作業系統下,OpenCV的imread函式支持如下型別的影像載入:
JPEG檔案 - *.jpeg, *.jpg, *.jpe
JPEG 2000檔案- *.jp2
PNG圖片 - *.png
便攜檔案格式- *.pbm, *.pgm, *.ppm
Sun rasters光柵檔案 - *.sr, *.ras
TIFF 檔案 - *.tiff, *.tif
Windows位圖 - *.bmp,*.dib
int flags:該引數是圖片讀取方式:載入標識,它指定一個加載影像的顏色型別,正常情況這個引數都是忽略的,如果呼叫時忽略就默認三通道彩色影像,(大概理解、正常這個引數用不上)
flags >0回傳一個3通道的彩色影像,
flags =0回傳灰度影像,
flags <0回傳包含Alpha通道的加載的影像,
注意的點:正常情況下不載入Alpha通道,如果我們需要載入Alpha通道的話呢,這里就需要取負值,
2、cv.NamedWindow( const char* name, int flags ):用于創建一個視窗 (這個代碼不寫 通過下面一個cv.imshow函式也可以展示圖片)
const string& winname:該引數就是視窗名,
int flags :這個引數表示的是視窗的型別,有兩個值:
WINDOW_NORMAL:設定了這個值,用戶便可以改變視窗的大小;也可以設為0
WINDOW_AUTOSIZE:如果設定了這個值,視窗大小會自動調整以適應所顯示的影像,并且不能手動改變視窗大小;可以忽略不寫
3、cv.imshow(const string& winname, InputArray mat):顯示圖片視窗
const string& winname:視窗名(注意:如果寫了NamedWindow()函式,這個名稱要與它一樣,不然會出現兩個視窗,一個是NamedWindow的空白視窗,一個是imshow的圖片視窗,)
InputArray mat: 要顯示的圖片
【篇外知識】imshow 函式詳解:
imshow 函式用于在指定的視窗中顯示影像,如果視窗是用CV_WINDOW_AUTOSIZE(默認值)標志創建的,那么顯示影像原始大小,
否則,將影像進行縮放以適合視窗,而imshow 函 數縮放影像,取決于影像的深度:
如果載入的影像是8位無符號型別(8-bit unsigned),就顯示影像本來的樣子,
如果影像是16位無符號型別(16-bit unsigned)或32位整型(32-bit integer),便用像素值除以256,也就是說,值的范圍是[0,255 x 256]映射到[0,255],
如果影像是32位浮點型(32-bit floating-point),像素值便要乘以255,也就是說,該值的范圍是[0,1]映射到[0,255],
4、waitKey(K) 視窗顯示時間,單位:毫秒
k=0: (也可以是小于0的數值)一直顯示,鍵盤上按下一個數字鍵即會消失
k>0: 顯示多少毫秒
5、destroyAllWindows():洗掉建立的全部視窗,釋放資源
【實踐是檢驗真理的唯一標準】
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/10446.html
標籤:其他
