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.shapeimg.size(用來查看圖像總的像素有多少個)
3.將圖片展示出來
其實也可以使用
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.圖像的保存
7.截取部分圖像數據
img = cv2.imread("cat.jpg") cat = img[0:200, 0:300] cv_show("cat" , cat)
8. 顏色通道提取
9.顏色通道合并
10.只保留單個顏色通道
#只保留R cur_img = img.copy()#將B,G通道設置為0 cur_img[:,:,0] = 0 cur_img[:,:,1] = 0cv_show("R" , cur_img)
(純紅看著有點嚇人!)
11.數值計算
因為讀取進來之后就直接做np.array格式處理了,所以部分處理方式可以借鑒np.array
(因為我們的像素值范圍是[0,255],所以如果相加>255,則會做%255處理)
12. 圖像融合
這個圖片長這樣:
如果直接相加:
則報錯
需要先將某一張圖片進行resize處理
同時對于這個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库基础操作(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 天猫双11凭什么达到1682亿?这些支撑
 - 下一篇: while read line 用法详细