opencv圖片操作

chenshiying007發表於2018-06-21

opencv圖片操作

更多幹貨

圖片讀取

import cv2
# 1 檔案的讀取 2 封裝格式解析 3 資料解碼 4 資料載入
img = cv2.imread('image0.jpg',1)
cv2.imshow('image',img)
# jpg png  1 檔案頭 2 檔案資料
cv2.waitKey (0)
# 1.14M 130k
  • cv2.imread 讀取圖片 0表示 gray 灰度圖片 1表示color 彩色圖片

  • cv2.imshow 第一個引數 視窗名稱 第二個引數 圖片

  • cv2.waitKey 程式的暫停

圖片寫入

import cv2
img = cv2.imread('image0.jpg',1)
cv2.imwrite('image1.jpg',img) # 1 name 2 data

圖片壓縮

import cv2
img = cv2.imread('image0.jpg',1)
cv2.imwrite('imageTest.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,50])
#1M 100k 10k 0-100 有失真壓縮
# 1 無損 2 透明度屬性
import cv2
img = cv2.imread('image0.jpg',1)
cv2.imwrite('imageTest.png',img,[cv2.IMWRITE_PNG_COMPRESSION,0])
# jpg 0 壓縮比高0-100 png 0 壓縮比低0-9

畫素操作基礎

import cv2
img = cv2.imread('image0.jpg',1)
(b,g,r) = img[100,100]
print(b,g,r)# bgr
#10 100 --- 110 100
for i in range(1,100):
    img[10+i,100] = (255,0,0)
cv2.imshow('image',img)
cv2.waitKey(0) #1000 ms
  • 1 畫素

  • 2 RGB

  • 3 顏色深度 8 bit 0-255

  • 4 圖片寬高 640 * 480 表示行有640個畫素點,高有480個畫素點

  • 5 對於jpg圖片:

1.14M = 720*547*3*8 bit/8 (B) = 1.14M
  • 6 對於png圖片: RGB alpha

  • 7 RGB bgr(紅色)

相關文章