初学opencv做的例子程序,保存一下。
之所以选择用python,是因为python上手快,开发快。
#!/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] =