pythonとopencvによる画像処理

1465 ワード

pythonは強力なツールだとますます感じられ、サンプルを処理するのは確かにいいです.最近はプロジェクトに画像処理が必要なのでpythonでopencvを呼び出し始め、pythonは本当に神器だと改めて感じました!
import os
import re
import sys
import cv2
from optparse import OptionParser
import numpy as np

def rotateImage(image, angel):#parameter angel in degrees
    height = image.shape[0]
    width = image.shape[1]
##    height_big = height * 2
##    width_big = width * 2
    height_big = height
    width_big = width
    image_big = cv2.resize(image, (width_big, height_big))
    image_center = (width_big/2, height_big/2)#rotation center
##    rot_mat = cv2.getRotationMatrix2D(image_center,angel, 0.5)
    rot_mat = cv2.getRotationMatrix2D(image_center,angel, 1.0)
    result = cv2.warpAffine(image_big, rot_mat, (width_big, height_big), flags=cv2.INTER_LINEAR)
    return result

filepath='E:\\data\\faceScrub2\\38743.jpg'
##im=cv2.imread(filepath,cv2.cv.CV_LOAD_IMAGE_COLOR)
im=cv2.imread(filepath,cv2.cv.CV_LOAD_IMAGE_GRAYSCALE)
im_rot=rotateImage(im,20)
im_smooth=cv2.GaussianBlur(im,(3,3),3.0)
##im_flip=cv2.flip(im,0)
im_flip1=cv2.flip(im,-1)
im_flip2=cv2.flip(im,1)
##im_he=cv2.equalizeHist(im)
##cv2.imshow('test',im)
##cv2.imshow('rotated',im_rot)
##cv2.imshow('smooth',im_smooth)
##cv2.imshow('f0',im_flip)
##cv2.imshow('fn',im_flip1)
##cv2.imshow('fp',im_flip2)
##cv2.imshow('he',im_he)
cv2.imwrite('H:\\flipimg.jpg',im_rot)
##cv2.waitKey(0)