本文整理汇总了Python中managers.CaptureManager.writeImage方法的典型用法代码示例。如果您正苦于以下问题:Python CaptureManager.writeImage方法的具体用法?Python CaptureManager.writeImage怎么用?Python CaptureManager.writeImage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类managers.CaptureManager
的用法示例。
在下文中一共展示了CaptureManager.writeImage方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Cameo
# 需要导入模块: from managers import CaptureManager [as 别名]
# 或者: from managers.CaptureManager import writeImage [as 别名]
class Cameo(object):
def __init__(self):
self._windowManager = WindowManager('Cameo', self.onKeypress)
self._captureManager = CaptureManager(cv2.VideoCapture(0), self._windowManager, True)
# self._curveFilter = filters.EmbossFilter()
def run(self):
self._windowManager.createWindow()
while self._windowManager.isWindowCreated:
self._captureManager.enterFrame()
frame = self._captureManager.frame
filters.strokeEdge(frame, frame)
# self._curveFilter.apply(frame, frame)
self._captureManager.exitFrame()
self._windowManager.processEvents()
def onKeypress(self, keycode):
if keycode == 32: #space
self._captureManager.writeImage('screenshot.png')
elif keycode == 9: #tab
if not self._captureManager.isWritingVideo:
self._captureManager.startWritingVideo('screencast.avi')
else:
self._captureManager.stopWritingVideo()
if keycode ==27:#esc
self._windowManager.destroyWindow()
示例2: Cameo
# 需要导入模块: from managers import CaptureManager [as 别名]
# 或者: from managers.CaptureManager import writeImage [as 别名]
class Cameo(object):
def __init__(self):
self._windowManager = WindowManager('Cameo',
self.onKeypress)
self._captureManager = CaptureManager(
cv2.VideoCapture(0), self._windowManager, True)
def run(self):
"""Run the main loop."""
self._windowManager.createWindow()
while self._windowManager.isWindowCreated:
self._captureManager.enterFrame()
frame = self._captureManager.frame
# TODO: Filter the frame (Chapter 3).
self._captureManager.exitFrame()
self._windowManager.processEvents()
def onKeypress (self, keycode):
"""Handle a keypress.
space -> Take a screenshot.
tab -> Start/stop recording a screencast.
escape -> Quit.
"""
if keycode == 32: # space
self._captureManager.writeImage('screenshot.png')
elif keycode == 9: # tab
if not self._captureManager.isWritingVideo:
self._captureManager.startWritingVideo('screencast.avi')
else:
self._captureManager.stopWritingVideo()
elif keycode == 27: # escape
self._windowManager.destroyWindow()
示例3: Cameo
# 需要导入模块: from managers import CaptureManager [as 别名]
# 或者: from managers.CaptureManager import writeImage [as 别名]
class Cameo(object):
def __init__(self):
self._windowManager = WindowManager('Cameo',
self.onKeypress)
self._captureManager = CaptureManager(
cv2.VideoCapture(0), self._windowManager, True)
self._faceTracker = FaceTracker()
self._shouldDrawDebugRects = False
self._curveFilter = filters.BGRPortraCurveFilter()
def run(self):
"""Run the main loop."""
self._windowManager.createWindow()
while self._windowManager.isWindowCreated:
self._captureManager.enterFrame()
frame = self._captureManager.frame
if frame is not None:
self._faceTracker.update(frame)
faces = self._faceTracker.faces
rects.swapRects(frame, frame,
[face.faceRect for face in faces])
filters.strokeEdges(frame, frame)
self._curveFilter.apply(frame, frame)
if self._shouldDrawDebugRects:
self._faceTracker.drawDebugRects(frame)
self._captureManager.exitFrame()
self._windowManager.processEvents()
def onKeypress(self, keycode):
"""Handle a keypress.
space -> Take a screenshot.
tab -> Start/stop recording a screencast.
x -> Start/stop drawing debug rectangles around faces.
escape -> Quit.
"""
if keycode == 32: # space
self._captureManager.writeImage('screenshot.png')
elif keycode == 9: # tab
if not self._captureManager.isWritingVideo:
self._captureManager.startWritingVideo(
'screencast.avi')
else:
self._captureManager.stopWritingVideo()
elif keycode == 120: # x
self._shouldDrawDebugRects = \
not self._shouldDrawDebugRects
elif keycode == 27: # escape
self._windowManager.destroyWindow()
示例4: BenFinder
# 需要导入模块: from managers import CaptureManager [as 别名]
# 或者: from managers.CaptureManager import writeImage [as 别名]
#.........这里部分代码省略.........
bri = filters.getMean(frame,benMask)
#print "%4.0f, %3.0f" % (bri[0],self._captureManager.fps)
self._ts.addSamp(bri[0])
if (self._frameCount < 15):
self._frameCount = self._frameCount +1
else:
self._ts.plotRawData()
self._ts.findPeaks()
self._frameCount = 0
else:
print "Auto background subtract only works for depth images!"
else:
if (self._captureManager.channel == \
depth.CV_CAP_OPENNI_DEPTH_MAP):
cv2.absdiff(frame,self.background_depth_img,frame)
benMask = filters.getBenMask(frame,8)
bri = filters.getMean(frame,benMask)
print bri
elif (self._captureManager.channel == \
depth.CV_CAP_OPENNI_BGR_IMAGE):
cv2.absdiff(frame,self.background_video_img,frame)
else:
print "Error - Invalid Channel %d." % \
self._captureManager.channel
#ret,frame = cv2.threshold(frame,200,255,cv2.THRESH_TOZERO)
#self._faceTracker.update(frame)
#faces = self._faceTracker.faces
#if self._shouldDrawDebugRects:
# self._faceTracker.drawDebugRects(frame)
self._captureManager.exitFrame()
self._windowManager.processEvents()
def onKeypress(self, keycode):
"""Handle a keypress.
space -> Take a screenshot.
tab -> Start/stop recording a screencast.
x -> Start/stop drawing debug rectangles around faces.
a -> toggle automatic accumulated background subtraction on or off.
b -> toggle simple background subtraction on or off.
s -> Save current frame as background image.
d -> Toggle between video and depth map view
i -> Display the background image that is being used for subtraction.
escape -> Quit.
"""
print "keycode=%d" % keycode
if keycode == 32: # space
self._captureManager.writeImage('screenshot.png')
elif keycode == 9: # tab
if not self._captureManager.isWritingVideo:
print "Starting Video Recording..."
self._captureManager.startWritingVideo(
'screencast.avi')
else:
print "Stopping video recording"
self._captureManager.stopWritingVideo()
elif keycode == 120: # x
self._shouldDrawDebugRects = \
not self._shouldDrawDebugRects
elif (chr(keycode)=='a'): # Autometic background subtraction
if (self._autoBackgroundSubtract == True):
print "Switching off auto background Subtraction"
self.autoBackgroundImage = None
self._autoBackgroundSubtract = False
else:
print "Switching on auto background subtraction"
self._autoBackgroundSubtract = True
elif (chr(keycode)=='b'): # Simple background subtraction
if (self._backgroundSubtract == True):
print "Switching off background Subtraction"
self._backgroundSubtract = False
else:
print "Switching on background subtraction"
self.loadBackgroundImages()
self._backgroundSubtract = True
elif (chr(keycode)=='d'):
if (self._captureManager.channel == depth.CV_CAP_OPENNI_BGR_IMAGE):
print "switching to depth map..."
self._captureManager.channel = depth.CV_CAP_OPENNI_DEPTH_MAP
else:
print "switching to video"
self._captureManager.channel = depth.CV_CAP_OPENNI_BGR_IMAGE
elif (chr(keycode)=='i'):
self.showBackgroundImage()
elif (chr(keycode)=='s'):
print "Saving Background Image"
if (self._captureManager.channel == depth.CV_CAP_OPENNI_DEPTH_MAP):
self._captureManager.writeImage(BenFinder.BACKGROUND_DEPTH_FNAME)
elif (self._captureManager.channel == depth.CV_CAP_OPENNI_BGR_IMAGE):
self._captureManager.writeImage(BenFinder.BACKGROUND_VIDEO_FNAME)
else:
print "Invalid Channel %d - doing nothing!" \
% self._captureManager.channel
elif keycode == 27: # escape
self._windowManager.destroyWindow()
示例5: CaptureManager
# 需要导入模块: from managers import CaptureManager [as 别名]
# 或者: from managers.CaptureManager import writeImage [as 别名]
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenSeizureDetector. If not, see <http://www.gnu.org/licenses/>.
##############################################################################
#
from managers import CaptureManager
import depth
device = depth.CV_CAP_FREENECT
#device = 1
print "device=%d" % device
captureManager = CaptureManager(
device, None, True)
captureManager.channel = depth.CV_CAP_OPENNI_BGR_IMAGE
captureManager.enterFrame()
#frame = captureManager.frame
captureManager.channel = depth.CV_CAP_OPENNI_DEPTH_MAP
captureManager.writeImage("kintest1.png")
captureManager.exitFrame()
captureManager.enterFrame()
captureManager.channel = depth.CV_CAP_OPENNI_BGR_IMAGE
captureManager.writeImage("kintest2.png")
captureManager.exitFrame()
示例6: Facedetect
# 需要导入模块: from managers import CaptureManager [as 别名]
# 或者: from managers.CaptureManager import writeImage [as 别名]
class Facedetect(object):
def __init__(self):
self._windowManager = WindowManager('Facedetect', self.onKeypress)
self._captureManager = CaptureManager(cv2.VideoCapture(camera_nr), self._windowManager, True)
self._faceTracker = FaceTracker()
self._shouldDrawDebugRects = True
self._curveFilter = filters.BGRPortraCurveFilter()
def run(self):
"""Run the main loop."""
self._windowManager.createWindow()
while self._windowManager.isWindowCreated:
self._captureManager.enterFrame()
frame = self._captureManager.frame
if frame is not None:
t = cv2.getTickCount()
self._faceTracker.update(frame)
faces = self._faceTracker.faces
t = cv2.getTickCount() - t
print("time taken for detection = %gms" % (t/(cv2.getTickFrequency())*1000.))
# uncomment this line for swapping faces
#rects.swapRects(frame, frame, [face.faceRect for face in faces])
#filters.strokeEdges(frame, frame)
#self._curveFilter.apply(frame, frame)
if self._shouldDrawDebugRects:
self._faceTracker.drawDebugRects(frame)
self._faceTracker.drawLinesFromCenter(frame)
self._captureManager.exitFrame()
self._windowManager.processEvents()
def onKeypress(self, keycode):
"""Handle a keypress.
space -> Take a screenshot.
tab -> Start/stop recording a screencast.
x -> Start/stop drawing debug rectangles around faces.
escape -> Quit.
"""
if keycode == 32: # space
self._captureManager.writeImage('screenshot.png')
elif keycode == 9: # tab
if not self._captureManager.isWritingVideo:
self._captureManager.startWritingVideo(
'screencast.avi')
else:
self._captureManager.stopWritingVideo()
elif keycode == 120: # x
self._shouldDrawDebugRects = \
not self._shouldDrawDebugRects
elif keycode == 27: # escape
self._windowManager.destroyWindow()
# When everything is done, release the capture
self._captureManager.release()
示例7: Browser
# 需要导入模块: from managers import CaptureManager [as 别名]
# 或者: from managers.CaptureManager import writeImage [as 别名]
class Browser(object):
def __init__(self,video_source):
self._windowManager = WindowManager('Browser', self.onKeypress)
self._captureManager = CaptureManager(video_source, self._windowManager, True)
self._faceTracker = FaceTracker()
self._shouldDrawDebugRects = False
self._curveFilter = filters.BGRPortraCurveFilter()
def run(self):
"""Run the main loop."""
self._windowManager.createWindow()
while self._windowManager.isWindowCreated:
self._captureManager.enterFrame()
frame = self._captureManager.frame
if frame is not None:
print "got frame"
self._faceTracker.update(frame)
faces = self._faceTracker.faces
rects.swapRects(frame, frame,
[face.faceRect for face in faces])
#filters.strokeEdges(frame, frame)
#self._curveFilter.apply(frame, frame)
if self._shouldDrawDebugRects:
self._faceTracker.drawDebugRects(frame)
else:
print "got None frame"
print "press any key to exit."
cv2.waitKey(0)
break
self._captureManager.exitFrame()
waitkey_time=1
if self._captureManager._video_source!=0:
waitkey_time=500
self._windowManager.processEvents(waitkey_time)
def onKeypress(self, keycode):
"""Handle a keypress.
space -> Take a screenshot.
tab -> Start/stop recording a screencast.
x -> Start/stop drawing debug rectangles around faces.
escape -> Quit.
"""
if keycode == 32: # space
self._captureManager.writeImage('screenshot.png')
elif keycode == 9: # tab
if not self._captureManager.isWritingVideo:
self._captureManager.startWritingVideo(
'/Users/xcbfreedom/Documents/screencast.avi')
else:
self._captureManager.stopWritingVideo()
elif keycode == 120: # x
self._shouldDrawDebugRects = \
not self._shouldDrawDebugRects
elif keycode == 27: # escape
self._windowManager.destroyWindow()
示例8: BenFinder
# 需要导入模块: from managers import CaptureManager [as 别名]
# 或者: from managers.CaptureManager import writeImage [as 别名]
#.........这里部分代码省略.........
# Write timeseries to file
self._ts.writeToFile("%s/%s" % \
( self.cfg.getConfigStr('output_directory'),
self.cfg.getConfigStr('alarm_ts_fname')
),bgImg=self._background_depth_img)
# Collect the analysis results together and send them
# to the web server.
resultsDict = {}
resultsDict['fps'] = "%3.0f" % self.fps
resultsDict['bri'] = "%4.0f" % self._ts.mean
resultsDict['area'] = "%6.0f" % maskArea
resultsDict['nPeaks'] = "%d" % self._nPeaks
resultsDict['ts_time'] = self._ts_time
resultsDict['rate'] = "%d" % self._rate
resultsDict['time_t'] = time.ctime()
resultsDict['status'] = self._status
self._ws.setAnalysisResults(resultsDict)
# Write the results to file as a json string
utils.writeJSON(resultsDict,"%s/%s" % \
(self._tmpdir,
self.cfg.getConfigStr("data_fname")))
utils.writeLog(resultsDict,"%s/%s" % \
(self._tmpdir,
"benFinder_alarms.log"))
# Plot the graph of brightness, and save the images
# to disk.
self._ts.plotRawData(
file=True,
fname="%s/%s" % \
(self._tmpdir,self.cfg.getConfigStr("chart_fname")))
cv2.imwrite("%s/%s" % (self._tmpdir,
self.cfg.getConfigStr(
"raw_image_fname")),
rawFrame)
cv2.imwrite("%s/%s" % (self._tmpdir,self.cfg.getConfigStr(
"masked_image_fname")),
frame)
self._frameCount = 0
else:
print "Null frame received - assuming end of file and exiting"
break
self._captureManager.exitFrame()
@property
def fps(self):
return self._captureManager.fps
@property
def nPeaks(self):
return self._nPeaks
@property
def ts_time(self):
return self._ts_time
@property
def rate(self):
return self._rate
@property
def rawImgFname(self):
return self.cfg.getConfigStr("raw_image_fname")
@property
def maskedImgFname(self):
return self.cfg.getConfigStr("masked_image_fname")
@property
def chartImgFname(self):
return self.cfg.getConfigStr("chart_fname")
def saveBgImg(self):
""" Write a new background image to the appropriate file location."""
if (self._captureManager.hasEnteredFrame):
self._captureManager.exitFrame()
self._captureManager.enterFrame()
print "Writing image to %s." % self.cfg.getConfigStr("background_depth")
self._captureManager.writeImage("%s/%s" %
(self._wkdir,
self.cfg.getConfigStr("background_depth")
))
print self._captureManager.frame
print self._captureManager.frame.dtype
self._captureManager.exitFrame()
self.loadBgImg()
def loadBgImg(self):
print "Loading background image %s/%s." % \
(self._wkdir,self.cfg.getConfigStr("background_depth"))
self._background_depth_img = cv2.imread("%s/%s" % \
(self._wkdir,self.cfg.getConfigStr("background_depth")),
cv2.CV_LOAD_IMAGE_GRAYSCALE)
# cv2.CV_LOAD_IMAGE_UNCHANGED)
print self._background_depth_img
print self._background_depth_img.dtype
示例9: Cameo
# 需要导入模块: from managers import CaptureManager [as 别名]
# 或者: from managers.CaptureManager import writeImage [as 别名]
class Cameo(object):
def __init__(self):
self._windowManager = WindowManager('Cameo', self.onKeypress)
self._captureManager = CaptureManager(cv2.VideoCapture(0),
self._windowManager, True)
self._curveFilter = filters.BGRProviaCurveFilter()
self._faceTracker = FaceTracker()
self._shouldDrawDebugRects = False
def run(self):
""" Run the main loop """
self._windowManager.createWindow()
print("Window '{}' Created".format(self._windowManager.windowName))
print("\n{}\n{}\n{}\n{}".format("Controls:",
"space --> Take a screenshot",
"tab --> Start/stop recording a screencast",
"escape --> Quit"))
while self._windowManager.isWindowCreated:
self._captureManager.enterFrame()
frame = self._captureManager.frame
self._faceTracker.update(frame)
faces = self._faceTracker.faces
rects.swapRects(frame, frame, [face.faceRect for face in faces])
# Add filtering to the frame
filters.strokeEdges(frame,frame)
self._curveFilter.apply(frame,frame)
if self._shouldDrawDebugRects:
self._faceTracker.drawDebugRects(frame)
self._captureManager.exitFrame()
self._windowManager.processEvents()
def stop(self):
print("[CAMEO] closing all processes")
self._captureManager._capture.release()
self._windowManager.destroyWindow()
def onKeypress(self, keycode):
""" Handle a keypress
space --> Take a screenshot
tab --> Start/stop recording a screencast
x --> Toggle drawing debug rectangles around faces
escape --> Quit
"""
if keycode == 32: # Space
self._captureManager.writeImage('screenshot.png');
print("Writing image to file....")
elif keycode == 9: # Tab
if not self._captureManager.isWritingVideo:
self._captureManager.startWritingVideo('screencast.avi')
print("Writing video to file...")
else:
self._captureManager.stopWritingVideo()
print("Stopped writing video")
elif keycode == 120: # x
self._shouldDrawDebugRects = not self._shouldDrawDebugRects
print("Toggled drawing rectangles")
elif keycode == 27: # escape
print("Closing Window...")
self._windowManager.destroyWindow()