本文整理匯總了Python中HelperFunctions.checkFile方法的典型用法代碼示例。如果您正苦於以下問題:Python HelperFunctions.checkFile方法的具體用法?Python HelperFunctions.checkFile怎麽用?Python HelperFunctions.checkFile使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類HelperFunctions
的用法示例。
在下文中一共展示了HelperFunctions.checkFile方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: detectFacesInImage
# 需要導入模塊: import HelperFunctions [as 別名]
# 或者: from HelperFunctions import checkFile [as 別名]
def detectFacesInImage(cvImage, detectionDebug=False):
logger = logging.getLogger('ELIME.OpenCVFunctions.detectFacesInImage')
width, height = cv.GetSize(cvImage)
minDimension = min(width, height)
# scale_factor = 1.1
# min_neighbors = 3
# flags = 0
# min_size = (20,20)
arguments = [(1.1, 3, 0, (20, 20)),
(1.1, 3, 0, (int(1.0 * minDimension), int(1.0 * minDimension))),
(1.1, 3, 0, (int(0.7 * minDimension), int(0.7 * minDimension))),
(1.1, 3, 0, (int(0.4 * minDimension), int(0.4 * minDimension))),
(1.1, 3, 0, (int(0.1 * minDimension), int(0.1 * minDimension))),
(1.1, 3, 0, (int(0.01 * minDimension), int(0.01 * minDimension)))]
path = os.path.join(PATHTOCASCADES, 'haarcascade_frontalface_default.xml')
path = HelperFunctions.checkFile(path)
if path is None:
logger.critical("Path to opencv haarcascades is wrong: %s", PATHTOCASCADES)
sys.exit(1)
print path
faceCascade = cv.Load(path)
storage = cv.CreateMemStorage()
returnFaces = set()
for (scale_factor, min_neighbors, flags, min_size) in arguments:
detectedFaces = cv.HaarDetectObjects(cvImage, faceCascade, storage, scale_factor, min_neighbors, flags, min_size)
debugString = '{0:d} faces found, args: {1} {2} {3} {4}'.format(len(detectedFaces), str(scale_factor), str(min_neighbors), str(flags), str(min_size))
logger.debug(debugString)
for face,n in detectedFaces:
returnFaces.add(face)
if detectionDebug:
debugFaces = []
for face,n in detectedFaces:
debugFaces.append((face, cv.RGB(0, 0, 255)))
UiFunctions.displayColoredRects(cvImage, debugString, debugFaces)
logger.debug("returning Faces: %s", returnFaces)
return returnFaces
示例2: main
# 需要導入模塊: import HelperFunctions [as 別名]
# 或者: from HelperFunctions import checkFile [as 別名]
#.........這裏部分代碼省略.........
parser.set_defaults(**defaultValues)
# main parser
parser.add_argument('--logFile', help='To enable log to file specify path of logfile')
subparsers = parser.add_subparsers(dest='subparser_name')
# create the parser for the "pre" command
parser_pre = subparsers.add_parser('pre', help='Tries to determines your photos creation date and renames and moves your photos to the permanent photo folder.')
parser_pre.add_argument('-sF', '--sourceFolder', help="The folder where ELIME's pre(process) command will find your unrenamed digital cameras photos")
parser_pre.add_argument('-pF', '--photoFolder', help='The folder where all your (preprocessed) daily photos savely and permanently are stored. The names of the photos in that folder get stored in the eye position database.')
parser_pre.add_argument('-p', '--prefix', help="The prefix ELIME's pre(process) command will prepend to your photo's creation date to create the new filename")
parser_pre.add_argument('-d', '--delete', action='store_true', help='If ELIME should move (and not copy) your photos while renaming from sourceFolder to photoFolder')
parser_pre.add_argument('-mS', '--maxSize', type=int, help="The maximum x or y of the image's dimensions on which ELIME will automatically detect eye positions and show in window. Do not go over 1024! The final size of the rendered images is completey independent from this!")
parser_pre.set_defaults(func=preProcessImageFiles)
# the lines in the subparsers like the next line was not needed before. Just a quick hack. Might be not the optimal solution for why it suddenly does not work anymore without.
parser_pre.set_defaults(**defaultValues)
# create the parser for the "add" command
parser_add = subparsers.add_parser('add', help='"Automagically" detects your eyes in your photos from the photoFolder, lets you do fine adjustments and saves eye locations to database file.')
parser_add.add_argument('-pF', '--photoFolder', help='The folder where all your (preprocessed) daily photos savely and permanently are stored. The names of the photos in that folder get stored in the eye position database.')
parser_add.add_argument('-dF', '--dbFile', help='The file path to where your eye position database will be stored')
parser_add.add_argument('-mS', '--maxSize', type=int, help="The maximum x or y of the image's dimensions on which ELIME will automatically detect eye positions and show in window. Do not go over 1024! The final size of the rendered images is completey independent from this!")
parser_add.add_argument('--detectionDebug', action='store_true', help="Shows all detected eyes and faces before manual fine control.")
parser_add.add_argument('-oF', '--openCVHaarcascadesFolder', help="Path to where your opencv installation's haarcascades reside.")
parser_add.set_defaults(func=addMissingEyeData)
parser_add.set_defaults(**defaultValues)
# create the parser for the "check" command
parser_check = subparsers.add_parser('check', help='If you want to correct saved eye positions in database, here you can.')
parser_check.add_argument('-pF', '--photoFolder', help='The folder where all your (preprocessed) daily photos savely and permanently are stored. The names of the photos in that folder get stored in the eye position database.')
parser_check.add_argument('-dF', '--dbFile', help='The file path to where your eye position database are be stored')
parser_check.add_argument('-mS', '--maxSize', type=int, help="The maximum x or y of the image's dimensions on which ELIME will automatically detect eye positions and show in window. Do not go over 1024! The final size of the rendered images is completey independent from this!")
parser_check.add_argument('beginWith', nargs='*', help='Filename to begin with checking.')
parser_check.set_defaults(func=checkEyeData)
parser_check.set_defaults(**defaultValues)
# create the parser for the "tidy" command
parser_tidy = subparsers.add_parser('tidy', help='Did you delete photos from your photoFolder? Run tidy to tidy the eyeposition database from deleted pictures.')
parser_tidy.add_argument('-pF', '--photoFolder', help='The folder where all your (preprocessed) daily photos savely and permanently are stored. The names of the photos in that folder get stored in the eye position database.')
parser_tidy.add_argument('-dF', '--dbFile', help='The file path to where your eye position database are be stored')
parser_tidy.set_defaults(func=tidyDB)
parser_tidy.set_defaults(**defaultValues)
# create the parser for the "render" command
parser_render = subparsers.add_parser('render', help='Render your photos - scaled, moved and roated based on your eye positions stored in database into JPGs for further processing.')
parser_render.add_argument('-pF', '--photoFolder', help='The folder where all your (preprocessed) daily photos savely and permanently are stored. The names of the photos in that folder get stored in the eye position database.')
parser_render.add_argument('-dF', '--dbFile', help='The file path to where your eye position database are be stored')
parser_render.add_argument('-tF', '--targetFolder', help="The folder where the rendered (scaled and roated) images that make up the frames of your project's video get saved. Must be different from photoFolder for 'security reasons' (tm)")
parser_render.add_argument('--posDebug', action='store_true', help="Draws a colored pixel at the the eyes' positions in the rendered output images")
parser_render.set_defaults(func=renderPhotos)
parser_render.set_defaults(**defaultValues)
#print parser_pre.get_default("sourceFolder")
#print remainingArgv
args = parser.parse_args(remainingArgv)
#print args
args.logFile = HelperFunctions.checkFile(args.logFile)
setupLogging(logFile=args.logFile)
if args.func == preProcessImageFiles:
args.sourceFolder = HelperFunctions.checkFolder(args.sourceFolder)
args.photoFolder = HelperFunctions.checkFolder(args.photoFolder)
args.func(args.sourceFolder, args.photoFolder, args.prefix, args.delete)
if args.func == addMissingEyeData:
args.openCVHaarcascadesFolder = HelperFunctions.checkFolder(args.openCVHaarcascadesFolder)
OpenCvFunctions.PATHTOCASCADES = args.openCVHaarcascadesFolder
args.photoFolder = HelperFunctions.checkFolder(args.photoFolder)
args.dbFile = HelperFunctions.checkFile(args.dbFile)
args.func(args.photoFolder, args.dbFile, args.maxSize,
detectionDebug=args.detectionDebug)
if args.func == checkEyeData:
args.photoFolder = HelperFunctions.checkFolder(args.photoFolder)
args.dbFile = HelperFunctions.checkFile(args.dbFile)
args.func(args.photoFolder, args.dbFile, args.beginWith, args.maxSize)
if args.func == tidyDB:
args.photoFolder = HelperFunctions.checkFolder(args.photoFolder)
args.dbFile = HelperFunctions.checkFile(args.dbFile)
args.func(args.photoFolder, args.dbFile)
if args.func == renderPhotos:
args.photoFolder = HelperFunctions.checkFolder(args.photoFolder)
args.dbFile = HelperFunctions.checkFile(args.dbFile)
args.targetFolder = HelperFunctions.checkFolder(args.targetFolder)
args.func(args.photoFolder, args.targetFolder, args.dbFile,
posDebug=args.posDebug)
sys.exit(0)
示例3: detectEyesInRectInImage
# 需要導入模塊: import HelperFunctions [as 別名]
# 或者: from HelperFunctions import checkFile [as 別名]
def detectEyesInRectInImage(cvImage, rect, detectionDebug=False):
logger = logging.getLogger('ELIME.OpenCVFunctions.detectEyesInRectInImage')
EYESWANTED = 2
# (scale_factor, min_neighbors, flags, min_size)
arguments = [(1.1, 3, 0, (20,20)),
(1.01, 3, 0, (10,10)),
(1.05, 3, 0, (15,15)),
(1.025, 3, 0, (10,10)),
(1.075, 3, 0, (10,10)),
(1.125, 3, 0, (10,10)),
(1.15, 3, 0, (15,15)),
(1.1, 2, 0, (30, 30))]
if rect:
(x, y, w, h) = rect
cv.SetImageROI(cvImage, (x, y, w, int(h * 0.6)))
haarcascades = ['haarcascade_eye_tree_eyeglasses.xml', 'haarcascade_eye.xml']
storage = cv.CreateMemStorage()
returnedEyes = []
for cascade in haarcascades:
path = os.path.join(PATHTOCASCADES, cascade)
path = HelperFunctions.checkFile(path)
if len(returnedEyes) == 2:
break
if path is None:
logger.critical("Path to haarcascade is wrong: %s", os.path.join(PATHTOCASCADES, cascade))
sys.exit(1)
eyeCascade = cv.Load(path)
for (scale_factor, min_neighbors, flags, min_size) in arguments:
detectedEyes = cv.HaarDetectObjects(cvImage, eyeCascade, storage, scale_factor, min_neighbors, flags, min_size)
debugString = '{0:d} eyes found, args: {1} {2} {3} {4} {5}'.format(len(detectedEyes), cascade, str(scale_factor), str(min_neighbors), str(flags), str(min_size))
if detectionDebug:
debugEyes = []
for eye,n in detectedEyes:
debugEyes.append((eye, cv.RGB(255, 255, 0)))
UiFunctions.displayColoredRects(cvImage, debugString, debugEyes)
logger.debug(debugString)
if len(detectedEyes) == 0:
logger.debug("0 eyes found. Continue.")
continue
if len(detectedEyes) == 2:
logger.debug("2 eyes found. Break")
returnedEyes = detectedEyes
break
if len(returnedEyes) == 0 or math.fabs(len(detectedEyes) - EYESWANTED) < math.fabs(len(returnedEyes) - EYESWANTED):
logger.debug("%d eyes found. Better than: %d", len(detectedEyes), len(returnedEyes))
returnedEyes = detectedEyes
cv.ResetImageROI(cvImage)
logger.debug("Returning Eyes: %s", returnedEyes)
return returnedEyes