IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
# [DocSampleImports]
import os
import sys, getopt
import PyIPSDK
import PyIPSDK.IPSDKIPLStats as stats
# [DocSampleImports]
def readCmdArguments(argv):
# Default parameters values
imagesSamplePath = PyIPSDK.getIPSDKDirectory(PyIPSDK.eInternalDirectory.eID_Images)
inputImgPath = os.path.join(imagesSamplePath, "Lena_510x509_UInt8.tif")
tmpPath = PyIPSDK.getIPSDKDefaultDirectory(PyIPSDK.eDefaultExternalDirectory.eDED_Tmp)
outputImgPath = os.path.join(tmpPath, "variance.tif")
inHalfKnlSizeX = inHalfKnlSizeY = 1;
try:
# Read the command line, the second argument is a string with all the possible options (short version)
# with a ':' if the option requires an argument and the third argument is the set of trings corresponding
# to the long versions of the program options
opts, args = getopt.getopt(argv,"hi:o:x:y:",["inputImgFilePath=","outputImgFilePath=","inHalfKnlSizeX=","inHalfKnlSizeY="])
except getopt.GetoptError:
print('<application_script_filename> [--inputImgFilePath <input_image_file_path>] [--outputImgFilePath <output_image_file_path>] [--inHalfKnlSizeX <half_kernel_size_along_x>] [--inHalfKnlSizeY <half_kernel_size_along_y>]')
sys.exit(2)
# Parse the program options
for opt, arg in opts:
if opt == '-h':
print('<application_script_filename> [--inputImgFilePath <input_image_file_path>] [--outputImgFilePath <output_image_file_path>] [--inHalfKnlSizeX <half_kernel_size_along_x>] [--inHalfKnlSizeY <half_kernel_size_along_y>]')
sys.exit(0)
elif opt in ("-i", "--inputImgFilePath"):
inputImgPath = arg
elif opt in ("-o", "--outputImgFilePath"):
outputImgPath = arg
elif opt in ("-x", "--inHalfKnlSizeX"):
inHalfKnlSizeX = int(arg)
elif opt in ("-y", "--inHalfKnlSizeY"):
inHalfKnlSizeY = int(arg)
return inputImgPath, outputImgPath, inHalfKnlSizeX, inHalfKnlSizeY
def main(argv):
# [DocSampleDefineArguments]
# retrieve program parameters
inputImgPath, outputImgPath, inHalfKnlSizeX, inHalfKnlSizeY = readCmdArguments(argv)
# [DocSampleDefineArguments]
# [DocSampleLoadImage]
# opening of input image
inImg = PyIPSDK.loadTiffImageFile(inputImgPath)
# [DocSampleLoadImage]
# [DocSampleApplyOp]
# lightness computation
outImg = stats.variance2dImg(inImg, inHalfKnlSizeX, inHalfKnlSizeY);
# [DocSampleApplyOp]
# [DocSampleSaveImage]
# save generated image
print("Writing result in file : " + outputImgPath)
PyIPSDK.saveTiffImageFile(outputImgPath, outImg)
# [DocSampleSaveImage]
if __name__ == "__main__":
main(sys.argv[1:])