├── .gitignore ├── CAMERA📷-CALIBARTION ├── camera_calibaration.py ├── capture_calibration_images.py └── images │ ├── image0.png │ ├── image1.png │ ├── image10.png │ ├── image11.png │ ├── image12.png │ ├── image13.png │ ├── image14.png │ ├── image15.png │ ├── image16.png │ ├── image17.png │ ├── image18.png │ ├── image19.png │ ├── image2.png │ ├── image20.png │ ├── image21.png │ ├── image22.png │ ├── image23.png │ ├── image24.png │ ├── image25.png │ ├── image26.png │ ├── image27.png │ ├── image28.png │ ├── image29.png │ ├── image3.png │ ├── image30.png │ ├── image31.png │ ├── image32.png │ ├── image33.png │ ├── image34.png │ ├── image35.png │ ├── image36.png │ ├── image37.png │ ├── image38.png │ ├── image39.png │ ├── image4.png │ ├── image40.png │ ├── image41.png │ ├── image42.png │ ├── image43.png │ ├── image44.png │ ├── image5.png │ ├── image6.png │ ├── image7.png │ ├── image8.png │ └── image9.png ├── DISTANCE-ESTIMATION └── distance.py ├── GENERATE_MARKERS ├── main.py └── markers │ ├── markder_0.png │ ├── markder_1.png │ ├── markder_10.png │ ├── markder_11.png │ ├── markder_12.png │ ├── markder_13.png │ ├── markder_14.png │ ├── markder_15.png │ ├── markder_16.png │ ├── markder_17.png │ ├── markder_18.png │ ├── markder_19.png │ ├── markder_2.png │ ├── markder_3.png │ ├── markder_4.png │ ├── markder_5.png │ ├── markder_6.png │ ├── markder_7.png │ ├── markder_8.png │ └── markder_9.png ├── IMAG_AUGMENTATION ├── README.md └── main.py ├── LICENSE ├── MARKER_DETECTION └── main.py ├── Pattern_PNG └── pattern.png ├── README.md ├── calib_data └── MultiMatrix.npz ├── images ├── augmentation │ ├── 01-sample.png │ ├── 02-Resistor.png │ ├── 03-Battery.png │ ├── 04-Switch .png │ ├── 05-Capacitor .png │ ├── 06-Inductor.png │ ├── 07-Diode.png │ ├── 08-LED.png │ ├── 09-Potentiometer.png │ ├── 10-LDR.png │ ├── 11-Transistor.png │ ├── 12-Switch -Relay.png │ └── 13-Motor.png ├── images_1.jpg └── images_2.jpg └── test └── test.py /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | pip-wheel-metadata/ 24 | share/python-wheels/ 25 | *.egg-info/ 26 | .installed.cfg 27 | *.egg 28 | MANIFEST 29 | 30 | # PyInstaller 31 | # Usually these files are written by a python script from a template 32 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 33 | *.manifest 34 | *.spec 35 | 36 | # Installer logs 37 | pip-log.txt 38 | pip-delete-this-directory.txt 39 | 40 | # Unit test / coverage reports 41 | htmlcov/ 42 | .tox/ 43 | .nox/ 44 | .coverage 45 | .coverage.* 46 | .cache 47 | nosetests.xml 48 | coverage.xml 49 | *.cover 50 | *.py,cover 51 | .hypothesis/ 52 | .pytest_cache/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | target/ 76 | 77 | # Jupyter Notebook 78 | .ipynb_checkpoints 79 | 80 | # IPython 81 | profile_default/ 82 | ipython_config.py 83 | 84 | # pyenv 85 | .python-version 86 | 87 | # pipenv 88 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 89 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 90 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 91 | # install all needed dependencies. 92 | #Pipfile.lock 93 | 94 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 95 | __pypackages__/ 96 | 97 | # Celery stuff 98 | celerybeat-schedule 99 | celerybeat.pid 100 | 101 | # SageMath parsed files 102 | *.sage.py 103 | 104 | # Environments 105 | .env 106 | .venv 107 | env/ 108 | venv/ 109 | ENV/ 110 | env.bak/ 111 | venv.bak/ 112 | 113 | # Spyder project settings 114 | .spyderproject 115 | .spyproject 116 | 117 | # Rope project settings 118 | .ropeproject 119 | 120 | # mkdocs documentation 121 | /site 122 | 123 | # mypy 124 | .mypy_cache/ 125 | .dmypy.json 126 | dmypy.json 127 | 128 | # Pyre type checker 129 | .pyre/ 130 | -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/camera_calibaration.py: -------------------------------------------------------------------------------- 1 | import cv2 as cv 2 | import os 3 | import numpy as np 4 | 5 | # Checker board size 6 | CHESS_BOARD_DIM = (9, 6) 7 | 8 | # The size of Square in the checker board. 9 | SQUARE_SIZE = 14 # millimeters 10 | 11 | # termination criteria 12 | criteria = (cv.TERM_CRITERIA_EPS + cv.TERM_CRITERIA_MAX_ITER, 30, 0.001) 13 | 14 | 15 | calib_data_path = "../calib_data" 16 | CHECK_DIR = os.path.isdir(calib_data_path) 17 | 18 | 19 | if not CHECK_DIR: 20 | os.makedirs(calib_data_path) 21 | print(f'"{calib_data_path}" Directory is created') 22 | 23 | else: 24 | print(f'"{calib_data_path}" Directory already Exists.') 25 | 26 | # prepare object points, like (0,0,0), (1,0,0), (2,0,0) ....,(6,5,0) 27 | obj_3D = np.zeros((CHESS_BOARD_DIM[0] * CHESS_BOARD_DIM[1], 3), np.float32) 28 | 29 | obj_3D[:, :2] = np.mgrid[0 : CHESS_BOARD_DIM[0], 0 : CHESS_BOARD_DIM[1]].T.reshape( 30 | -1, 2 31 | ) 32 | obj_3D *= SQUARE_SIZE 33 | print(obj_3D) 34 | 35 | # Arrays to store object points and image points from all the images. 36 | obj_points_3D = [] # 3d point in real world space 37 | img_points_2D = [] # 2d points in image plane. 38 | 39 | # The images directory path 40 | image_dir_path = "images" 41 | 42 | files = os.listdir(image_dir_path) 43 | for file in files: 44 | print(file) 45 | imagePath = os.path.join(image_dir_path, file) 46 | # print(imagePath) 47 | 48 | image = cv.imread(imagePath) 49 | grayScale = cv.cvtColor(image, cv.COLOR_BGR2GRAY) 50 | ret, corners = cv.findChessboardCorners(image, CHESS_BOARD_DIM, None) 51 | if ret == True: 52 | obj_points_3D.append(obj_3D) 53 | corners2 = cv.cornerSubPix(grayScale, corners, (3, 3), (-1, -1), criteria) 54 | img_points_2D.append(corners2) 55 | 56 | img = cv.drawChessboardCorners(image, CHESS_BOARD_DIM, corners2, ret) 57 | 58 | cv.destroyAllWindows() 59 | # h, w = image.shape[:2] 60 | ret, mtx, dist, rvecs, tvecs = cv.calibrateCamera( 61 | obj_points_3D, img_points_2D, grayScale.shape[::-1], None, None 62 | ) 63 | print("calibrated") 64 | 65 | print("duming the data into one files using numpy ") 66 | np.savez( 67 | f"{calib_data_path}/MultiMatrix", 68 | camMatrix=mtx, 69 | distCoef=dist, 70 | rVector=rvecs, 71 | tVector=tvecs, 72 | ) 73 | 74 | print("-------------------------------------------") 75 | 76 | print("loading data stored using numpy savez function\n \n \n") 77 | 78 | data = np.load(f"{calib_data_path}/MultiMatrix.npz") 79 | 80 | camMatrix = data["camMatrix"] 81 | distCof = data["distCoef"] 82 | rVector = data["rVector"] 83 | tVector = data["tVector"] 84 | 85 | print("loaded calibration data successfully") 86 | -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/capture_calibration_images.py: -------------------------------------------------------------------------------- 1 | import cv2 as cv 2 | import os 3 | 4 | CHESS_BOARD_DIM = (9, 6) 5 | 6 | n = 0 # image_counter 7 | 8 | # checking if images dir is exist not, if not then create images directory 9 | image_dir_path = "images" 10 | 11 | CHECK_DIR = os.path.isdir(image_dir_path) 12 | # if directory does not exist create 13 | if not CHECK_DIR: 14 | os.makedirs(image_dir_path) 15 | print(f'"{image_dir_path}" Directory is created') 16 | else: 17 | print(f'"{image_dir_path}" Directory already Exists.') 18 | 19 | criteria = (cv.TERM_CRITERIA_EPS + cv.TERM_CRITERIA_MAX_ITER, 30, 0.001) 20 | 21 | 22 | def detect_checker_board(image, grayImage, criteria, boardDimension): 23 | ret, corners = cv.findChessboardCorners(grayImage, boardDimension) 24 | if ret == True: 25 | corners1 = cv.cornerSubPix(grayImage, corners, (3, 3), (-1, -1), criteria) 26 | image = cv.drawChessboardCorners(image, boardDimension, corners1, ret) 27 | 28 | return image, ret 29 | 30 | 31 | cap = cv.VideoCapture(0) 32 | 33 | while True: 34 | _, frame = cap.read() 35 | copyFrame = frame.copy() 36 | gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY) 37 | 38 | image, board_detected = detect_checker_board(frame, gray, criteria, CHESS_BOARD_DIM) 39 | # print(ret) 40 | cv.putText( 41 | frame, 42 | f"saved_img : {n}", 43 | (30, 40), 44 | cv.FONT_HERSHEY_PLAIN, 45 | 1.4, 46 | (0, 255, 0), 47 | 2, 48 | cv.LINE_AA, 49 | ) 50 | 51 | cv.imshow("frame", frame) 52 | cv.imshow("copyFrame", copyFrame) 53 | 54 | key = cv.waitKey(1) 55 | 56 | if key == ord("q"): 57 | break 58 | if key == ord("s") and board_detected == True: 59 | # storing the checker board image 60 | cv.imwrite(f"{image_dir_path}/image{n}.png", copyFrame) 61 | 62 | print(f"saved image number {n}") 63 | n += 1 # incrementing the image counter 64 | cap.release() 65 | cv.destroyAllWindows() 66 | 67 | print("Total saved Images:", n) 68 | -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image0.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image1.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image10.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image11.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image12.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image13.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image14.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image15.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image16.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image17.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image18.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image19.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image2.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image20.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image21.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image22.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image23.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image24.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image25.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image26.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image27.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image28.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image29.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image3.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image30.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image31.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image32.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image33.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image34.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image35.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image36.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image37.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image38.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image39.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image4.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image40.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image41.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image42.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image43.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image44.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image5.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image6.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image7.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image8.png -------------------------------------------------------------------------------- /CAMERA📷-CALIBARTION/images/image9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/CAMERA📷-CALIBARTION/images/image9.png -------------------------------------------------------------------------------- /DISTANCE-ESTIMATION/distance.py: -------------------------------------------------------------------------------- 1 | import cv2 as cv 2 | from cv2 import aruco 3 | import numpy as np 4 | 5 | calib_data_path = "../calib_data/MultiMatrix.npz" 6 | 7 | calib_data = np.load(calib_data_path) 8 | print(calib_data.files) 9 | 10 | cam_mat = calib_data["camMatrix"] 11 | dist_coef = calib_data["distCoef"] 12 | r_vectors = calib_data["rVector"] 13 | t_vectors = calib_data["tVector"] 14 | 15 | MARKER_SIZE = 8 # centimeters 16 | 17 | marker_dict = aruco.Dictionary_get(aruco.DICT_4X4_50) 18 | 19 | param_markers = aruco.DetectorParameters_create() 20 | 21 | cap = cv.VideoCapture(0) 22 | 23 | while True: 24 | ret, frame = cap.read() 25 | if not ret: 26 | break 27 | gray_frame = cv.cvtColor(frame, cv.COLOR_BGR2GRAY) 28 | marker_corners, marker_IDs, reject = aruco.detectMarkers( 29 | gray_frame, marker_dict, parameters=param_markers 30 | ) 31 | if marker_corners: 32 | rVec, tVec, _ = aruco.estimatePoseSingleMarkers( 33 | marker_corners, MARKER_SIZE, cam_mat, dist_coef 34 | ) 35 | total_markers = range(0, marker_IDs.size) 36 | for ids, corners, i in zip(marker_IDs, marker_corners, total_markers): 37 | cv.polylines( 38 | frame, [corners.astype(np.int32)], True, (0, 255, 255), 4, cv.LINE_AA 39 | ) 40 | corners = corners.reshape(4, 2) 41 | corners = corners.astype(int) 42 | top_right = corners[0].ravel() 43 | top_left = corners[1].ravel() 44 | bottom_right = corners[2].ravel() 45 | bottom_left = corners[3].ravel() 46 | 47 | # Since there was mistake in calculating the distance approach point-outed in the Video Tutorial's comment 48 | # so I have rectified that mistake, I have test that out it increase the accuracy overall. 49 | # Calculating the distance 50 | distance = np.sqrt( 51 | tVec[i][0][2] ** 2 + tVec[i][0][0] ** 2 + tVec[i][0][1] ** 2 52 | ) 53 | # Draw the pose of the marker 54 | point = cv.drawFrameAxes(frame, cam_mat, dist_coef, rVec[i], tVec[i], 4, 4) 55 | cv.putText( 56 | frame, 57 | f"id: {ids[0]} Dist: {round(distance, 2)}", 58 | top_right, 59 | cv.FONT_HERSHEY_PLAIN, 60 | 1.3, 61 | (0, 0, 255), 62 | 2, 63 | cv.LINE_AA, 64 | ) 65 | cv.putText( 66 | frame, 67 | f"x:{round(tVec[i][0][0],1)} y: {round(tVec[i][0][1],1)} ", 68 | bottom_right, 69 | cv.FONT_HERSHEY_PLAIN, 70 | 1.0, 71 | (0, 0, 255), 72 | 2, 73 | cv.LINE_AA, 74 | ) 75 | # print(ids, " ", corners) 76 | cv.imshow("frame", frame) 77 | key = cv.waitKey(1) 78 | if key == ord("q"): 79 | break 80 | cap.release() 81 | cv.destroyAllWindows() 82 | -------------------------------------------------------------------------------- /GENERATE_MARKERS/main.py: -------------------------------------------------------------------------------- 1 | import cv2 as cv 2 | from cv2 import aruco 3 | 4 | marker_dict = aruco.Dictionary_get(aruco.DICT_4X4_50) 5 | 6 | MARKER_SIZE = 400 # pixels 7 | 8 | for id in range(20): 9 | 10 | marker_image = aruco.drawMarker(marker_dict, id, MARKER_SIZE) 11 | # cv.imshow("img", marker_image) 12 | cv.imwrite(f"markers/markder_{id}.png", marker_image) 13 | # cv.waitKey(0) 14 | # break 15 | -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_0.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_1.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_10.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_11.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_12.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_13.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_14.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_15.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_16.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_17.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_18.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_19.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_2.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_3.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_4.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_5.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_6.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_7.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_8.png -------------------------------------------------------------------------------- /GENERATE_MARKERS/markers/markder_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/GENERATE_MARKERS/markers/markder_9.png -------------------------------------------------------------------------------- /IMAG_AUGMENTATION/README.md: -------------------------------------------------------------------------------- 1 | # Image Augmentation 2 | 3 | 4 | ![img aug](https://user-images.githubusercontent.com/66181793/159901201-cdb13efa-5322-45c4-85f2-d6e642bf2099.gif) 5 | -------------------------------------------------------------------------------- /IMAG_AUGMENTATION/main.py: -------------------------------------------------------------------------------- 1 | import cv2 as cv 2 | from cv2 import aruco 3 | import numpy as np 4 | import os 5 | 6 | 7 | def image_augmentation(frame, src_image, dst_points): 8 | src_h, src_w = src_image.shape[:2] 9 | frame_h, frame_w = frame.shape[:2] 10 | mask = np.zeros((frame_h, frame_w), dtype=np.uint8) 11 | src_points = np.array([[0, 0], [src_w, 0], [src_w, src_h], [0, src_w]]) 12 | H, _ = cv.findHomography(srcPoints=src_points, dstPoints=dst_points) 13 | warp_image = cv.warpPerspective(src_image, H, (frame_w, frame_h)) 14 | cv.imshow("warp image", warp_image) 15 | cv.fillConvexPoly(mask, dst_points, 255) 16 | results = cv.bitwise_and(warp_image, warp_image, frame, mask=mask) 17 | 18 | 19 | def read_images(dir_path): 20 | img_list = [] 21 | files = os.listdir(dir_path) 22 | for file in files: 23 | img_path = os.path.join(dir_path, file) 24 | image = cv.imread(img_path) 25 | img_list.append(image) 26 | return img_list 27 | 28 | 29 | marker_dict = aruco.Dictionary_get(aruco.DICT_4X4_50) 30 | 31 | param_markers = aruco.DetectorParameters_create() 32 | 33 | images_list = read_images("../images/augmentation") 34 | 35 | cap = cv.VideoCapture(0) 36 | 37 | while True: 38 | ret, frame = cap.read() 39 | if not ret: 40 | break 41 | gray_frame = cv.cvtColor(frame, cv.COLOR_BGR2GRAY) 42 | marker_corners, marker_IDs, reject = aruco.detectMarkers( 43 | gray_frame, marker_dict, parameters=param_markers 44 | ) 45 | if marker_corners: 46 | for ids, corners in zip(marker_IDs, marker_corners): 47 | 48 | corners = corners.reshape(4, 2) 49 | corners = corners.astype(int) 50 | if ids[0] <= 12: 51 | image_augmentation(frame, images_list[ids[0]], corners) 52 | else: 53 | image_augmentation(frame, images_list[0], corners) 54 | # print(ids, " ", corners) 55 | cv.imshow("frame", frame) 56 | key = cv.waitKey(1) 57 | if key == ord("q"): 58 | break 59 | cap.release() 60 | cv.destroyAllWindows() 61 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Asadullah Dal 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /MARKER_DETECTION/main.py: -------------------------------------------------------------------------------- 1 | import cv2 as cv 2 | from cv2 import aruco 3 | import numpy as np 4 | 5 | marker_dict = aruco.Dictionary_get(aruco.DICT_4X4_50) 6 | 7 | param_markers = aruco.DetectorParameters_create() 8 | 9 | cap = cv.VideoCapture(0) 10 | 11 | while True: 12 | ret, frame = cap.read() 13 | if not ret: 14 | break 15 | gray_frame = cv.cvtColor(frame, cv.COLOR_BGR2GRAY) 16 | marker_corners, marker_IDs, reject = aruco.detectMarkers( 17 | gray_frame, marker_dict, parameters=param_markers 18 | ) 19 | if marker_corners: 20 | for ids, corners in zip(marker_IDs, marker_corners): 21 | cv.polylines( 22 | frame, [corners.astype(np.int32)], True, (0, 255, 255), 4, cv.LINE_AA 23 | ) 24 | corners = corners.reshape(4, 2) 25 | corners = corners.astype(int) 26 | top_right = corners[0].ravel() 27 | top_left = corners[1].ravel() 28 | bottom_right = corners[2].ravel() 29 | bottom_left = corners[3].ravel() 30 | cv.putText( 31 | frame, 32 | f"id: {ids[0]}", 33 | top_right, 34 | cv.FONT_HERSHEY_PLAIN, 35 | 1.3, 36 | (200, 100, 0), 37 | 2, 38 | cv.LINE_AA, 39 | ) 40 | # print(ids, " ", corners) 41 | cv.imshow("frame", frame) 42 | key = cv.waitKey(1) 43 | if key == ord("q"): 44 | break 45 | cap.release() 46 | cv.destroyAllWindows() 47 | -------------------------------------------------------------------------------- /Pattern_PNG/pattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/Pattern_PNG/pattern.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Basic-Augmented-reality-course-opencv 2 | 3 | This is basics Augmented reality course, which is free you can find video tutorial on [AiPhile](https://www.youtube.com/aiphile) 4 | 5 | ## Course Content 6 | 7 | |No: | Topic | status| Tutorial Link 8 | |------|-------|-----|----| 9 | |1|Setting Up Development Environment in VS code (opencv Python) | ✅| [YouTube Video Link](https://youtu.be/5OgY6oCZM_E) | 10 | |2| Introduction to AR and Generating Markers| ✅ | [YouTube Video Link](https://youtu.be/_6x7pDOJkEk) | 11 | |3| Markers Detection| ✅ | [YouTube Video Link](https://youtu.be/P9QZhcteRlU) | 12 | |4| Simple Image Augmentation (**Project 1**)| ✅| [YouTube Video](https://youtu.be/wB4BRWNuJM4) 13 | |5|Camera Calibration| ✅ |[YouTube Video Link](https://youtu.be/JHeNger8B2E) | 14 | |6|3D Pose & Distance Estimation| ✅ | [YouTube Video Link](https://youtu.be/mn-M6Qzx6SE) | 15 | |7| Floating Image View (Place 2D Image In 3D World) (**Project 2**) |pending | Not Available | 16 | |8| Tran-Background Floating Image Viewer (**Project 3**)| pending | Not Available | 17 | |9| AR Digital Clock (**Project 4**)|pending | Not Available | 18 | 19 |
20 | Installation Section 21 |
22 | 23 | ⚠️⚠️since OpenCV has updated the function names in the new version, the source code will work specified version ⚠️⚠️. 24 | ### Windows ※ 25 | ```bash 26 | pip install opencv-contrib-python==4.5.5.62 27 | ``` 28 | 29 | ### Linux🐧 or Mac🍎 30 | 31 | ```bash 32 | pip3 install opencv-contrib-python==4.5.5.62 33 | ``` 34 | 35 |
36 |
37 | 38 | If You have any Questions or need help with CV Project, Feel free to DM on Instagram Instagram 39 | 40 | ## 💚🖤 Join me on Social Media 🖤💚 41 | 42 | 43 |
44 | 45 | 46 | 47 | Youtube Badge 48 | 49 | 50 | 51 | 52 | Medium Badge 53 | 54 | 55 | 56 | Medium Badge 57 | 58 | 59 | 60 | 61 | LinkedIn Badge 62 | 63 | 64 | 65 | 66 | Twitter Badge 67 | 68 | 69 | 70 | 73 | 74 | 75 | 76 | 77 | 78 |
79 | -------------------------------------------------------------------------------- /calib_data/MultiMatrix.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/calib_data/MultiMatrix.npz -------------------------------------------------------------------------------- /images/augmentation/01-sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/images/augmentation/01-sample.png -------------------------------------------------------------------------------- /images/augmentation/02-Resistor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/images/augmentation/02-Resistor.png -------------------------------------------------------------------------------- /images/augmentation/03-Battery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/images/augmentation/03-Battery.png -------------------------------------------------------------------------------- /images/augmentation/04-Switch .png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/images/augmentation/04-Switch .png -------------------------------------------------------------------------------- /images/augmentation/05-Capacitor .png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/images/augmentation/05-Capacitor .png -------------------------------------------------------------------------------- /images/augmentation/06-Inductor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/images/augmentation/06-Inductor.png -------------------------------------------------------------------------------- /images/augmentation/07-Diode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/images/augmentation/07-Diode.png -------------------------------------------------------------------------------- /images/augmentation/08-LED.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/images/augmentation/08-LED.png -------------------------------------------------------------------------------- /images/augmentation/09-Potentiometer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/images/augmentation/09-Potentiometer.png -------------------------------------------------------------------------------- /images/augmentation/10-LDR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/images/augmentation/10-LDR.png -------------------------------------------------------------------------------- /images/augmentation/11-Transistor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/images/augmentation/11-Transistor.png -------------------------------------------------------------------------------- /images/augmentation/12-Switch -Relay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/images/augmentation/12-Switch -Relay.png -------------------------------------------------------------------------------- /images/augmentation/13-Motor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/images/augmentation/13-Motor.png -------------------------------------------------------------------------------- /images/images_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/images/images_1.jpg -------------------------------------------------------------------------------- /images/images_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Asadullah-Dal17/Basic-Augmented-reality-course-opencv/2f8a15730a84815d557d5481aee8c1e7ed7cdc3e/images/images_2.jpg -------------------------------------------------------------------------------- /test/test.py: -------------------------------------------------------------------------------- 1 | import cv2 as cv 2 | import numpy as np 3 | 4 | img = cv.imread("images/images_1.jpg") 5 | print(img.shape) 6 | 7 | cv.putText( 8 | img=img, 9 | text=f"opencv version: {cv.__version__}", 10 | org=(30, 40), 11 | fontFace=cv.FONT_HERSHEY_PLAIN, 12 | fontScale=1.5, 13 | color=(0, 255, 0), 14 | thickness=2, 15 | lineType=cv.LINE_AA, 16 | ) 17 | cv.imshow("img", img) 18 | cv.waitKey(0) 19 | cv.destroyAllWindows() 20 | --------------------------------------------------------------------------------