日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【图像处理】——opencv常用函数

發(fā)布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【图像处理】——opencv常用函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

讀取圖像

注意:

1、imread和plt.show以及pil.image,show的區(qū)別:

2、imread中的rgb的順序

顯示圖像

等待鍵盤輸入

銷毀窗口

保存一張圖像

圖像復(fù)制

圖像顏色空間轉(zhuǎn)換(灰彩互轉(zhuǎn))

圖像縮放

圖像旋轉(zhuǎn)

圖像放射變換

圖像添加文字

在圖像上繪制矩形

圖像的四值屬性


?


讀取圖像

cv2.imread(filepath,flags)???? #讀入一張圖像,這里讀入得到的是一個三維矩陣(h,w,α),h和w表示的是圖片的大小(像素格式),α表示的是顏色通道,彩色為3,黑白為1,一般黑白圖片就沒有這一維,矩陣的元素值是每一個像素點的RBG值

??? filepath:要讀入圖片的完整路徑
??? flags:讀入圖片的標(biāo)志
??????? cv2.IMREAD_COLOR:默認參數(shù),讀入一副彩色圖片,忽略alpha通道
??????? cv2.IMREAD_GRAYSCALE:讀入灰度圖片
??????? cv2.IMREAD_UNCHANGED:顧名思義,讀入完整圖片,包括alpha通道

注意:

1、imread和plt.show以及pil.image,show的區(qū)別:

都是通過讀取以下圖片得到的結(jié)果

imread:是以像素格式進行讀取的,通過imshow呈現(xiàn)的是通過像素格子按照一比一的比例在電腦上呈現(xiàn)出來的,若圖片的像素很大,甚至大于電腦屏幕的時候,圖片就會溢出屏幕,即看不到圖片的全貌

plt.show():是以線面的形式出現(xiàn)的,顏色會失真

image.show():是以圖片的形式呈現(xiàn)的

2、imread中的rgb的順序

平常我們說的順序是rgb,但是在imread中的存儲順序是bgr

img = cv2.imread(inputimagepath)print("img.shape")#(200,200,3)print(img[:,:,0])#bprint(img[:,:,1])#g print(img[:,:,2])#r

?

(200, 200, 3) width:200 height:200 [[[112 152 224]#bgr[114 154 226][115 157 228]...[120 152 218][143 170 234][137 163 223]][[110 151 224][112 154 225][111 155 226]...[117 147 212][138 164 224][147 171 229]][[104 149 223][105 150 223][104 152 224]...[ 86 112 172][ 66 89 145][ 64 86 138]]...[[ 19 31 35][ 25 37 41][ 15 26 34]...[ 26 43 70][ 37 55 86][ 41 59 90]][[ 14 26 30][ 24 36 40][ 12 23 31]...[ 40 56 85][ 59 76 109][ 61 80 113]][[ 12 24 28][ 24 36 40][ 12 23 31]...[ 46 64 93][ 71 88 121][ 72 91 126]]]進程已結(jié)束,退出代碼0

?

顯示圖像

cv2.imshow(wname,img)???? #顯示圖像

??? 第一個參數(shù)是顯示圖像的窗口的名字
??? 第二個參數(shù)是要顯示的圖像(imread讀入的圖像),窗口大小自動調(diào)整為圖片大小

??? cv2.imshow('image',img)

等待鍵盤輸入

??? cv2.waitKey(0)?? #等待鍵盤輸入,單位為毫秒,即等待指定的毫秒數(shù)看是否有鍵盤輸入,若在等待時間內(nèi)按下任意鍵則返回按鍵的ASCII碼,程序繼續(xù)運行。
??? #若沒有按下任何鍵,超時后返回-1。參數(shù)為0表示無限等待不調(diào)用waitKey的話,窗口會一閃而逝,看不到顯示的圖片

銷毀窗口

??? cv2.destroyAllWindow()???? #銷毀所有窗口
??? cv2.destroyWindow(wname)?? #銷毀指定窗口

保存一張圖像

cv2.imwrite(file,img,num)??? #保存一張圖像

??? 第一個參數(shù)是要保存的文件名
??? 第二個參數(shù)是要保存的圖像。可選的第三個參數(shù),它針對特定的格式:對于JPEG,其表示的是圖像的質(zhì)量,用0 - 100的整數(shù)表示,默認95。
??? 第三個參數(shù)表示的是壓縮級別。默認為3.

圖像復(fù)制

img.copy()??? #圖像復(fù)制

圖像顏色空間轉(zhuǎn)換(灰彩互轉(zhuǎn))

cv2.cvtColor()????? #圖像顏色空間轉(zhuǎn)換

??? img2 = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)?? #灰度化:彩色圖像轉(zhuǎn)為灰度圖像
??? img3 = cv2.cvtColor(img,cv2.COLOR_GRAY2RGB)?? #彩色化:灰度圖像轉(zhuǎn)為彩色圖像
??? # cv2.COLOR_X2Y,其中X,Y = RGB, BGR, GRAY, HSV, YCrCb, XYZ, Lab, Luv, HLS

圖像縮放

cv2.resize(image, image2,dsize)???? #圖像縮放:(輸入原始圖像,輸出新圖像,圖像的大小)

圖像旋轉(zhuǎn)

cv2.flip(img,flipcode)?????????????????????? #圖像翻轉(zhuǎn),flipcode控制翻轉(zhuǎn)效果。

??? flipcode = 0:沿x軸翻轉(zhuǎn);flipcode > 0:沿y軸翻轉(zhuǎn);flipcode < 0:x,y軸同時翻轉(zhuǎn)

圖像放射變換

cv2.warpAffine(img, M, (400, 600))?????? #圖像仿射變換 :平移;裁剪、剪切、旋轉(zhuǎn)、仿射變換,
M、M_crop、M_shear、M_rotate

圖像添加文字

cv2.putText(img,'text',(50,150)?? #圖像添加文字:(照片,添加的文字,左上角坐標(biāo),字體,字體大小,顏色,字體粗細)

??? cv2.putText(image, caption, (b[0], b[1] - 10), cv2.FONT_HERSHEY_PLAIN, 1, (255, 0, 0), 1)
??? cv2.putText(I,'there 0 error(s):',(50,150),cv2.FONT_HERSHEY_COMPLEX,6,(0,0,255),25)

在圖像上繪制矩形

cv2.rectangle(img, (x,y), (x+w,y+h), (0,255,0), 2)??? #畫出矩行:img原圖、(x,y)是矩陣的左上點坐標(biāo)、(x+w,y+h)是矩陣的右下點坐標(biāo)、(0,255,0)是畫線對應(yīng)的rgb顏色、2是所畫的線的寬度。

圖像的四值屬性

cv2.boundingRect(img)????????? #返回圖像的四值屬性:img是一個二值圖,即是它的參數(shù); 返回四個值,分別是x,y,w,h; x,y是矩陣左上點的坐標(biāo),w,h是矩陣的寬和高。

總結(jié)

以上是生活随笔為你收集整理的【图像处理】——opencv常用函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。