OpenCV图像处理基础操作汇总
1、使用opencv讀寫圖像
OpenCV支持jpg、png、tif等格式圖像讀取。
import cv2import matplotlib.pyplot as pltpath = ‘lena.jpg’img = cv2.imread(path)cv2.imwrite(‘lena1.jpg’, img)2、BGR轉RGB
opencv是按照bgr方式讀取圖像,而plt按照rgb格式顯示圖像,因此會出現顯示異常。為了正常顯示,需要進行順序轉換,由BGR轉為RGB。
使用opencv:
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
使用矩陣操作:
img = img[:, :, ::-1]
import cv2 import matplotlib.pyplot as plt import numpy path = 'lena.jpg' img = cv2.imread(path) img = cv2.cv2.cvtColor(img, cv2.COLOR_BGR2RGB) plt.imshow(img) plt.show()3、獲取圖像寬高
height, width = img.shape[:2]
或者
img_shape = img.shape
height = img_shape[0]
width = img_shape[1]
4、調整圖像尺寸
cv2.resize(img, (height, width), cv2.INTER_LINEAR)
第一個參數為原始圖像,第二個為調整后尺寸,第三個為插值算法設置,INTER_NEAREST、INTER_LINEAR、INTER_CUBIC分別為最鄰近插值、雙線性插值、雙三次插值。
import cv2 import matplotlib.pyplot as plt import numpy path = 'lena.jpg' img = cv2.imread(path) img = cv2.cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img = cv2.resize(img, (300, 200), cv2.INTER_LINEAR) plt.imshow(img) plt.show()5、將圖像轉換為python字節
import cv2path = 'lena.jpg'img = cv2.imread(path)byteArray = bytearray(img)print(byteArray)6、將圖像一部分區域拷貝到另一部分。
import cv2import matplotlib.pyplot as pltpath = 'lena.jpg'img = cv2.imread(path)img = img[:, :, ::-1]image_block = img[0:100, 0:100]img[200:300,200:300] = image_blockplt.imshow(img)plt.show()?
7、使用canny提取邊緣
import cv2import matplotlib.pyplot as pltpath = 'lena.jpg'img = cv2.imread(path)img = cv2.Canny(img, 100, 150)plt.imshow(img)plt.show()?
8、在圖像上繪制矩形框
cv2.rectangle(img, (350, 120), (470, 520), (0, 255, 0), 2)
第一個參數為原圖,第二和第三個參數為圖像左上角和右下角坐標,第四個參數為線框顏色,第五個參數為線寬。
import cv2import matplotlib.pyplot as pltimport numpypath = 'person.jpg'img = cv2.imread(path)img = cv2.rectangle(img, (350, 120), (470, 520), (0, 255, 0), 2)plt.imshow(img)plt.show()9、鏡像變換
水平鏡像:img = cv2.flip(img,1,dst=None)
垂直鏡像:img = cv2.flip(img,0,dst=None)
對角鏡像:img = cv2.flip(img,-1,dst=None)
10、圖像濾波
均值濾波:dst = cv2.blur(img, [5, 5])
中值濾波:dst = cv2.medianBlur(img, 7)
雙邊濾波:dst = cv2.bilateralFilter(img, 10, 30, 30)
11、圖像添加文字
cv2.putText(img, text, (x, y), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0, 255, 0), 2,)參數說明:原始圖像,文字,坐標(左上角),字體,字體大小、顏色、字體線條粗細
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的OpenCV图像处理基础操作汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TensorFlow实现Unet遥感图像
- 下一篇: 深度学习常见概念解析