日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

opencv resize_opencv-python库基础操作(一)

發(fā)布時間:2023/12/10 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opencv resize_opencv-python库基础操作(一) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

點贊再看,養(yǎng)成習(xí)慣!點贊再看,養(yǎng)成習(xí)慣!點贊再看,養(yǎng)成習(xí)慣!opencv-python庫基礎(chǔ)操作
0.安裝opencv-python
pip install opencv-python
進行下載并安裝
不過在python中導(dǎo)入opencv庫的時候需要
"import cv2"來進行導(dǎo)入

下面用一只非常經(jīng)典的貓咪開始練習(xí)使用opencv


1.首先導(dǎo)包

import cv2 #opencv讀取的格式是BGR,與一般的RGB不同
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
#這樣子就不需要plt.show()

2.讀取圖像數(shù)據(jù)

picture_path = "cat.jpg" img = cv2.imread(picture_path) 看一下shape(可以發(fā)現(xiàn)是3通道的) img.shape

img.size(用來查看圖像總的像素有多少個)


3.將圖片展示出來

cv2.imshow("image",img) cv2.waitKey(0) cv2.destroyAllWindows()

其實也可以使用

import matplotlib.pyplot as plt plt.imshow(img)

來對圖片進行展示
但,opencv讀取的格式是BGR,與一般的RGB不同,直接讀會長這樣子:(需要opencv進行RGB的轉(zhuǎn)換)

4.下面用函數(shù)進行“圖像展示”的封裝

def cv_show(name,img):cv2.imshow(name,img)cv2.waitKey(0)cv2.destroyAllWindows()

5.轉(zhuǎn)化為灰度圖:

img = cv2.imread(picture_path, cv2.IMREAD_GRAYSCALE) cv_show("img",img)


6.圖像的保存

cv2.imwrite("mycat.png" , img )

7.截取部分圖像數(shù)據(jù)

img = cv2.imread("cat.jpg") cat = img[0:200, 0:300] cv_show("cat" , cat)


8. 顏色通道提取

#注意順序為BGR b,g,r = cv2.split(img)


9.顏色通道合并

img = cv2.merge((b,g,r))

10.只保留單個顏色通道

#只保留R cur_img = img.copy()#將B,G通道設(shè)置為0 cur_img[:,:,0] = 0 cur_img[:,:,1] = 0cv_show("R" , cur_img)


(純紅看著有點嚇人!)

#只保留G cur_img = img.copy()#將B,R通道設(shè)置為0 cur_img[:,:,0] = 0 cur_img[:,:,2] = 0cv_show("g" , cur_img)

#只保留B cur_img = img.copy()#將R,G通道設(shè)置為0 cur_img[:,:,1] = 0 cur_img[:,:,2] = 0cv_show("B" , cur_img)


11.數(shù)值計算
因為讀取進來之后就直接做np.array格式處理了,所以部分處理方式可以借鑒np.array

img_cat = cv2.imread("cat.jpg") cv_show("123" , img_cat + 10)

img_cat = cv2.imread("cat.jpg") img_cat2 = img_cat + 10 img_cat2 + img_cat

(因為我們的像素值范圍是[0,255],所以如果相加>255,則會做%255處理)


12. 圖像融合

img_cup = cv2.imread("1_51.jpg")

這個圖片長這樣:


如果直接相加:

img_dog + img_cat

則報錯


需要先將某一張圖片進行resize處理

img_dog = cv2.resize(img_dog , (640,391))#注意這里是x,y,而shape那邊是y,x img_dog.shape

同時對于這個resize函數(shù),還可以使用縮小放大功能

res = cv2.resize(img_cat , (0,0) , fx = 2, fy = 2)

#這樣子就是放大兩倍

用addWeighted函數(shù)就可以將二者融合在一起!

res1 = cv2.addWeighted(img_cat,0.4,img_dog,0.6,20)

看起來還真是有點魔幻!

基礎(chǔ)操作先到這里,接下來會上一些更加高級有用的操作!

總結(jié)

以上是生活随笔為你收集整理的opencv resize_opencv-python库基础操作(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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