コード例 #1
0
ファイル: image_helper.py プロジェクト: softtrainee/arlab
def histogram(src):
    '''
    '''
    size = (30, 32)
    hist = cvCreateHist(size, CV_HIST_ARRAY)

    h_plane = cvCreateImage(cvGetSize(src), src.depth, 1)
    s_plane = cvCreateImage(cvGetSize(src), src.depth, 1)
    # v_plane = cvCreateImage(cvGetSize(src), src.depth, 1)
    for chan, plane in [(1, h_plane), (2, s_plane)]:
        cvSetImageCOI(src, chan)
        cvCopy(src, plane)

    cvSetImageCOI(src, 0)
    planes = (h_plane, s_plane)

    cvCalcHist(planes, hist, 0, 0)
    dst = new_dst(src, nchannels=1)
    cvCalcBackProject(planes, dst, hist)
    return dst
コード例 #2
0
ファイル: image_helper.py プロジェクト: softtrainee/arlab
def remove_noise(img, x, y, w, h):
    sz = cvSize(w, h)
    # sz = cvSize(img.width & -2, img.height & -2)
    subimage = cvCloneImage(img)  # make a copy of input image
    crop(subimage, x, y, w, h)
    # gray = cvCreateImage(sz, 8, 1)
    pyr = cvCreateImage(cvSize(int(sz.width / 2), int(sz.height / 2)), 8, 3)
#    subimage = cvGetSubRect(timg, None, cvRect(0, 0, sz.width, sz.height))

    # down-scale and upscale the image to filter out the noise
    cvPyrDown(subimage, pyr, 7)
    cvPyrUp(pyr, subimage, 7)
    return subimage
コード例 #3
0
ファイル: image_helper.py プロジェクト: softtrainee/arlab
def new_dst(src, zero=False, width=None,
            height=None, nchannels=None, size=None):
    '''
    '''

#    print nchannels
    if width is not None and height is not None:
        size = CvSize(width, height)
    elif size is None:
        size = cvGetSize(src)

    if nchannels is None:
        nchannels = src.nChannels

    img = cvCreateImage(size, 8, nchannels)
    if zero:
        cvZero(img)
    return img
コード例 #4
0
#  logfile = open("/opt/ibehave/log/scripts.log",'w')  # TODO: better logging!
#  print >> logfile, "-----------------> Model Background"
#  print >> logfile, invideofile
#  print >> logfile, background 

#######################################

# open the video
cap = ocv.cvCreateFileCapture(invideofile)
# extract the number of frames
max_frames = ocv.cvGetCaptureProperty(cap,ocv.CV_CAP_PROP_FRAME_COUNT)
# interrogate the first frame to get the size
frame = ocv.cvQueryFrame(cap)
frame_size = ocv.cvGetSize(frame)

working =       ocv.cvCreateImage(frame_size,ocv.IPL_DEPTH_32F,3)
accumulator =   ocv.cvCreateImage(frame_size,ocv.IPL_DEPTH_32F,3)
background =    ocv.cvCreateImage(frame_size,ocv.IPL_DEPTH_32F,3)
ones =		ocv.cvCreateImage(frame_size,ocv.IPL_DEPTH_32F,3)
target =	ocv.cvCloneImage(frame) 

# Set divisor image all to one
ocv.cvSet(ones,ocv.cvScalar(1.0,1.0,1.0,0))

if show:
  ocv.cvNamedWindow ('Track', ocv.CV_WINDOW_AUTOSIZE)
  ocv.cvMoveWindow ('Track', 100, 100)

t = 1
n = 1
コード例 #5
0
ファイル: track.py プロジェクト: mikedewar/CourtshipIndex
anglefrom = pi*0.33 # angles of turning
angleto = pi*0.66

#######################################

# open the video
cap = ocv.cvCreateFileCapture(filename)
# extract the number of frames
max_frames = ocv.cvGetCaptureProperty(cap,ocv.CV_CAP_PROP_FRAME_COUNT)
# interrogate the first frame to get the size
t = 1
frame = ocv.cvQueryFrame(cap)
frame_size = ocv.cvGetSize(frame)

# create some temporary frames
gray =		ocv.cvCreateImage(frame_size,8,1) 
#backgray =		ocv.cvCreateImage(frame_size,8,1) 
grayfloat =		ocv.cvCreateImage(frame_size,ocv.IPL_DEPTH_32F,1)
background =		ocv.cvCreateImage(frame_size,ocv.IPL_DEPTH_32F,1)
ones =		ocv.cvCreateImage(frame_size,ocv.IPL_DEPTH_32F,1)
thresh = 	ocv.cvCreateImage(frame_size,8,1) 
output =	ocv.cvCloneImage(frame) 
masked = 	ocv.cvCreateImage(frame_size,8,1) 
  
#mask = ocv.cvLoadImage(maskname,0)
backgray = ocv.cvLoadImage(backname,0) 
#print back
#print frame_size.width, frame_size.height 
#ocv.cvConvertImage(back,backgray)
ocv.cvConvert(backgray,background)