Tag: python
Terminating a Python script
import sys sys.exit()
os._exit(errorcode)
References
https://stackoverflow.com/questions/73663/terminating-a-python-script
Detect Ctrl+C in Python
#!/usr/bin/env python import signal import sys def signal_handler(sig, frame): print('You pressed Ctrl+C!') sys.exit(0) signal.signal(signal.SIGINT, signal_handler) print('Press Ctrl+C') signal.pause()
References
https://stackoverflow.com/questions/1112343/how-do-i-capture-sigint-in-python
Preventing Windows OS from sleeping while your python code runs
class WindowsInhibitor: '''Prevent OS sleep/hibernate in windows; code from: https://github.com/h3llrais3r/Deluge-PreventSuspendPlus/blob/master/preventsuspendplus/core.py API documentation: https://msdn.microsoft.com/en-us/library/windows/desktop/aa373208(v=vs.85).aspx''' ES_CONTINUOUS = 0x80000000 ES_SYSTEM_REQUIRED = 0x00000001 def __init__(self): pass def inhibit(self): import ctypes print("Preventing Windows from going to sleep") ctypes.windll.kernel32.SetThreadExecutionState( WindowsInhibitor.ES_CONTINUOUS | \ WindowsInhibitor.ES_SYSTEM_REQUIRED) def uninhibit(self): import ctypes print("Allowing Windows to go to sleep") ctypes.windll.kernel32.SetThreadExecutionState( WindowsInhibitor.ES_CONTINUOUS)
import os osSleep = None # in Windows, prevent the OS from sleeping while we run if os.name == 'nt': osSleep = WindowsInhibitor() osSleep.inhibit() # do slow stuff if osSleep: osSleep.uninhibit()
References
https://trialstravails.blogspot.com/2017/03/preventing-windows-os-from-sleeping.html
Create an Enum in Python
from enum import Enum class Color(Enum): RED = 1 GREEN = 2 BLUE = 3
References
https://docs.python.org/3/library/enum.html
Calculate the difference between two datetime objects in Python
dateTimeDifference = dateTimeA - dateTimeB # Divide difference in seconds by number of seconds in hour (3600) dateTimeDifferenceInHours = dateTimeDifference.total_seconds() / 3600
Python String Formatting
1 –
'Hello, {}'.format(name)
Output
'Hello, Bob'
2 –
'Hey {name}, there is a 0x{errno:x} error!'.format(name=name, errno=errno)
Output
'Hey Bob, there is a 0xbadc0ffee error!'
3 –
f'Hello, {name}!'
Output
'Hello, Bob!'
Convert a PIL Image into a numpy array
pix = numpy.array(pic)
References
https://stackoverflow.com/questions/384759/how-to-convert-a-pil-image-into-a-numpy-array
Basic NumPy for working with OpenCV
Create an array from a list
my_list = [1, 2, 3] my_array = np.array(my_list)
Create an array with arrange
my_array = np.arange(0, 10) my_array2 = np.arange(0, 10, 2) # with step 2
Create an array with zeros
my_array = np.zeros((2, 3)) # default type if float my_array2 = np.zeros((2, 3), np.int32) # with type int
Create an array with ones
my_array = np.ones((10, 8), np.int32)
Create an array from random
np.random.seed(101) array1 = np.random.randint(0, 100, 10) array2=np.random.randint(0,100,10)
Max, Min, Mean
np.random.seed(101) array1 = np.random.randint(0, 100, 10) print(array1.max()) print(array1.argmax()) # index of max value print(array1.min()) print(array1.argmin()) # index of min value print(array1.mean())
Indexing an array
matrix = np.arange(0, 100).reshape(10, 10) print(matrix) print(matrix[2,3]) row = 1 col = 4 print(matrix[row,col])
Manipulating an array
matrix = np.arange(0, 100).reshape(10, 10) print(matrix) matrix[0:3, 0:3] = 0 print(matrix)
Copying an array
matrix: np.ndarray = np.arange(0, 100).reshape(10, 10) print(matrix) matrix2 = matrix.copy() matrix2[0:3, 0:3] = 0 print(matrix2)
Slicing an array
matrix = np.arange(0, 100).reshape(10, 10) print(matrix[1, :]) # whole row 1 print(matrix[:, 1]) # whole col 1 print(matrix[1, 1:4]) # row 1 from col 1 to 4 print(matrix[1:4, 1]) # col 1 from row 1 to 4 new_matrix: np.ndarray = matrix[1, :] print(new_matrix.reshape(5, 2))
Reshaping an array
np.random.seed(101) array1 = np.random.randint(0, 100, 10) print(array1) print(array1.shape) array2 = array1.reshape((2, 5)) print(array2) print(array2.shape)
Image Operations with OpenCV Python
Read Pixel
import cv2 import numpy as np import pprint image = cv2.imread('cow.jpg',cv2.IMREAD_COLOR) pixel= image[55,55] pprint.pprint(pixel)
Change Pixel
import cv2 import numpy as np import pprint image = cv2.imread('cow.jpg', cv2.IMREAD_COLOR) image[55, 55] = [255, 255, 255] pixel = image[55, 55] pprint.pprint(pixel)
Change the color of Region of Image
import cv2 import numpy as np import pprint image = cv2.imread('cow.jpg', cv2.IMREAD_COLOR) image[150:200, 100:150] = [255, 255, 255] cv2.imshow("image", image) cv2.waitKey(0) cv2.destroyAllWindows()
Image CharacteristicsÂ
import cv2 import numpy as np import pprint image = cv2.imread('cow.jpg', cv2.IMREAD_COLOR) print(image.shape) print(image.size) print(image.dtype)
Copy Paste Region
import cv2 import numpy as np import pprint image = cv2.imread('cow.jpg', cv2.IMREAD_COLOR) watch_face = image[200:250,107:194] image[0:50,0:87] = watch_face cv2.imshow('image',image) cv2.waitKey(0) cv2.destroyAllWindows()
References
https://pythonprogramming.net/image-operations-python-opencv-tutorial/
https://www.youtube.com/watch?v=1pzk_DIL_wo&list=PLQVvvaa0QuDdttJXlLtAJxJetJcqmqlQq&index=4
https://github.com/mhdr/OpenCV/tree/master/004