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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

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

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

下面用一只非常經典的貓咪開始練習使用opencv


1.首先導包

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

2.讀取圖像數據

picture_path = "cat.jpg" img = cv2.imread(picture_path) 看一下shape(可以發現是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的轉換)

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

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

5.轉化為灰度圖:

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


6.圖像的保存

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

7.截取部分圖像數據

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通道設置為0 cur_img[:,:,0] = 0 cur_img[:,:,1] = 0cv_show("R" , cur_img)


(純紅看著有點嚇人!)

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

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


11.數值計算
因為讀取進來之后就直接做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函數,還可以使用縮小放大功能

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

#這樣子就是放大兩倍

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

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

看起來還真是有點魔幻!

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。