python進行opencv開發----簡單的圖片操作__python
來源:互聯網
上載者:User
[python] view plain copy #!/usr/bin/python2 # coding: utf-8 import cv2 import numpy as np #原始圖片 image = cv2.imread('./meinv2_original.jpg', cv2.CV_LOAD_IMAGE_COLOR) cv2.imshow('Original image', image) #截取圖片的一部分,即ROI(region of interest) #因為在python cv2中圖片以ndarray格式表示,所以直接用ndarray的 #分區方式能非常容易的截取ROI,跟python中list的分區用法一樣,只不過 #這個是在二維數組上分區 crop = image[0:201, 100:301] #分區都是不包含後面一個參數的,所以多1 cv2.imshow('Crop image', crop) cv2.imwrite('./meinv2_crop.jpg', crop) #處理過的灰階圖片 gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) cv2.imshow('Gray image', gray) cv2.imwrite('./meinv2_gray.jpg', gray) #在圖片上畫一個框 imageRect = image.copy() p1 = (300, 200) p2 = (500, 300) color = (0, 0, 255) #BGR的順序,這個顏色為紅色 cv2.rectangle(imageRect, p1, p2, color) cv2.imshow('Rectangle an image', imageRect) cv2.imwrite('./meinv2_rect.jpg', imageRect) #圖片縮放 size = (400, 300) imageResize = cv2.resize(image, size) #可以不指定縮放的圖片大小,而指定縮放比例,如下,等比縮放到一半大小 #即將縮放尺寸設為0,然後再分別設定xy方向上的縮放比例 #imageResize = cv2.resize(image, (0,0), fx=0.5, fy=0.5) cv2.imshow('Resize an image', imageResize) cv2.imwrite('./meinv2_resize.jpg', imageResize) #保留單一通道色彩,通道順序是BGR b = image.copy() b[:,:,1] = 0 b[:,:,2] = 0 cv2.imshow('Blue image', b) cv2.imwrite('./meinv2_blue.jpg', b) g = image.copy() g[:,:,0] = 0 g[:,:,2] = 0 cv2.imshow('Green image', g) cv2.imwrite('./meinv2_green.jpg', g) r = image.copy()