opencv圖片的操作

讀取圖片並顯示

import cv2

# 參數1 讀入圖片名,包括後綴名
# 參數2 0 灰色 1 彩色
img = cv2.imread('girl.jpg', cv2.IMREAD_COLOR)

# 參數1 窗體名字
# 參數2 顯示的內容
cv2.imshow('image', img)

# 程序暫停
K = cv2.waitKey(0)

寫入圖片內容到某個文件

import cv2

img = cv2.imread('girl.jpg',1)
#第一個參數是要寫入的圖片的名稱,第二個參數是圖片數據
cv2.imwrite('girl1.jpg',img)

jpg圖片壓縮

#jpg圖片的壓縮
import cv2
img = cv2.imread('girl.jpg',1)
#對於jpg文件的壓縮,第三個參數是壓縮質量
cv2.imwrite('girl4.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,50])
#1M 100K 10K 圖片質量的範圍是0-100 有損壓縮
#jpg圖片的額壓縮壓縮質量參數數值越小,壓縮比越高

png圖片壓縮

#png圖片的壓縮
import cv2
img = cv2.imread('girl.jpg',1)
# 無損壓縮
cv2.imwrite('girl3.png',img,[cv2.IMWRITE_JPEG_QUALITY,0])
#png圖片的額壓縮壓縮質量參數數值越小,壓縮比越小,壓縮質量範圍0-9,png有透明度屬性

讀取圖片某個像素點的 GBR值 (注意此處opencv返回的BGR)

import cv2

img = cv2.imread('girl.jpg')
height, width, channel = img.shape  # 圖片的高度,寬度和通道數
print("height,width,channel", height, width, channel)  # 輸出顯示

# 第100行, 第100列該像素點的值
(b, g, r) = img[100, 100]
print("b,g,r", b, g, r)  # 輸出顯示

 

圖片的像素點寫入

import cv2

img = cv2.imread('girl.jpg')
height, width, channel = img.shape  # 圖片的高度,寬度和通道數
print("height,width,channel", height, width, channel)  # 輸出顯示

for i in range(1,101):
    img[10+i, 100] = (255,0,0)

cv2.imshow('image', img)

# 程序暫停
K = cv2.waitKey(0)

效果 有一段藍線

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章