├── 01- Pre processing Techniques 01 ├── 01.py ├── 02.py ├── 03.py ├── 04.py ├── Inputs │ ├── 1.jpg │ ├── 2.jpg │ ├── 3.jpg │ ├── 4.jpg │ ├── 5.jpg │ └── chess_board.jpg ├── README.md └── Results │ ├── 01new.jpg │ ├── 02new.jpg │ └── 03new.jpg ├── 02- Pre Processing Techniques 02 ├── ImageProcessing3.ipynb ├── Inputs │ ├── ImageEnhance.jpg │ ├── MNIST_persian.zip │ └── sudoku.tif ├── README.md └── Result │ ├── Contrast_adjustment.jpg │ ├── MNIST_persian.rar │ ├── block_whit_number.jpg │ ├── croped_margin.jpg │ └── cropped_margin.jpg ├── 03- Mathematical Operations on Images ├── Chess_pieces.py ├── Mona_lisa.py ├── README.md ├── Results │ ├── Chess_pieces │ │ ├── 1.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ ├── 6.jpg │ │ └── 7.jpg │ ├── Mona_Lisa.jpg │ ├── black_hole.jpg │ ├── board_img.jpg │ ├── highway_img.jpg │ └── img_pass.jpg ├── black_hole.py ├── board_img.py ├── highway_img.py ├── img_pass.py └── inputs │ ├── Mona_Lisa.jpg │ ├── a.tif │ ├── b.tif │ ├── black hole │ ├── 1 │ │ ├── 1.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ └── 5.jpg │ ├── 2 │ │ ├── 1.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ └── 5.jpg │ ├── 3 │ │ ├── 1.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ └── 5.jpg │ ├── 4 │ │ ├── 1.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ └── 5.jpg │ └── Black_hole.jpg │ ├── board - origin.bmp │ ├── board - test.bmp │ ├── chess pieces.jpg │ └── highway │ ├── h0.jpg │ ├── h1.jpg │ ├── h10.jpg │ ├── h11.jpg │ ├── h12.jpg │ ├── h13.jpg │ ├── h14.jpg │ ├── h2.jpg │ ├── h3.jpg │ ├── h4.jpg │ ├── h5.jpg │ ├── h6.jpg │ ├── h7.jpg │ ├── h8.jpg │ └── h9.jpg ├── 04- Image Filtering ├── Image_Filters.ipynb ├── Inputs │ ├── 01.jpg │ ├── 02.jpg │ ├── 3ShadesOfGray.mp4 │ ├── building.jpg │ ├── building.tif │ └── lion.png ├── README.md └── Result │ ├── MedianFilter_size15.jpg │ ├── MedianFilter_size3.jpg │ ├── MedianFilter_size5.jpg │ ├── MedianFilter_size7.jpg │ ├── building01.jpg │ ├── building02.jpg │ └── lion.jpg ├── 05- Salt and Pepper Noise ├── README.md ├── Result │ ├── TV_screen_noise.gif │ ├── remove_salt_and_pepper_mr_bean.jpg │ └── salt_and_pepper_mr_bean.jpg ├── TV_screen_noise.ipynb ├── functions.py ├── inputs │ ├── mr_bean.jpeg │ ├── television01.png │ ├── television02.png │ └── television03.jpg └── salt_and_pepper_noise.py ├── 06- Encrypt and Decrypt Image ├── README.md ├── decrypt_image.py ├── encrypt_image.py ├── input │ ├── 01.jpg │ └── 02.jpeg └── output │ ├── decrypted_img.jpg │ ├── encrypted_img.bmp │ └── key.npy ├── 07- Removal Noise and Blurred Background ├── 02-blur_flower_background.py ├── 03-board.py ├── Inputs │ ├── board.tif │ └── flower_input.jpg ├── README.md └── Result │ ├── board.jpg │ └── flower_output.jpg ├── 08- Object Detection using Contour Finder ├── 01- Crop MNIST Numbers │ ├── 01-Crop_MNIST_numbers.py │ ├── README.md │ ├── Result │ │ └── MNIST.zip │ └── inputs │ │ └── mnist.png ├── 02- Chess Pieces │ ├── Chess_pieces.py │ ├── README.md │ ├── Results │ │ └── Chess_pieces │ │ │ ├── 1.jpg │ │ │ ├── 2.jpg │ │ │ ├── 3.jpg │ │ │ ├── 4.jpg │ │ │ ├── 5.jpg │ │ │ ├── 6.jpg │ │ │ └── 7.jpg │ └── inputs │ │ └── chess pieces.jpg ├── 03- Object Detection using Contour Finder │ ├── Inputs │ │ ├── OCR.jpg │ │ ├── gerdalies.tif │ │ ├── noisey_OCR.jpg │ │ ├── penguin1.jpg │ │ ├── penguin2.jpg │ │ ├── penguin3.jpeg │ │ └── penguin4.jpeg │ ├── Output │ │ ├── OCR │ │ │ ├── 1.jpg │ │ │ ├── 10.jpg │ │ │ ├── 11.jpg │ │ │ ├── 12.jpg │ │ │ ├── 13.jpg │ │ │ ├── 14.jpg │ │ │ ├── 15.jpg │ │ │ ├── 16.jpg │ │ │ ├── 17.jpg │ │ │ ├── 18.jpg │ │ │ ├── 19.jpg │ │ │ ├── 2.jpg │ │ │ ├── 20.jpg │ │ │ ├── 21.jpg │ │ │ ├── 22.jpg │ │ │ ├── 23.jpg │ │ │ ├── 24.jpg │ │ │ ├── 25.jpg │ │ │ ├── 26.jpg │ │ │ ├── 27.jpg │ │ │ ├── 28.jpg │ │ │ ├── 29.jpg │ │ │ ├── 3.jpg │ │ │ ├── 30.jpg │ │ │ ├── 31.jpg │ │ │ ├── 32.jpg │ │ │ ├── 33.jpg │ │ │ ├── 34.jpg │ │ │ ├── 35.jpg │ │ │ ├── 36.jpg │ │ │ ├── 37.jpg │ │ │ ├── 38.jpg │ │ │ ├── 39.jpg │ │ │ ├── 4.jpg │ │ │ ├── 40.jpg │ │ │ ├── 41.jpg │ │ │ ├── 42.jpg │ │ │ ├── 43.jpg │ │ │ ├── 44.jpg │ │ │ ├── 45.jpg │ │ │ ├── 46.jpg │ │ │ ├── 47.jpg │ │ │ ├── 48.jpg │ │ │ ├── 49.jpg │ │ │ ├── 5.jpg │ │ │ ├── 50.jpg │ │ │ ├── 51.jpg │ │ │ ├── 52.jpg │ │ │ ├── 53.jpg │ │ │ ├── 54.jpg │ │ │ ├── 55.jpg │ │ │ ├── 56.jpg │ │ │ ├── 57.jpg │ │ │ ├── 58.jpg │ │ │ ├── 59.jpg │ │ │ ├── 6.jpg │ │ │ ├── 60.jpg │ │ │ ├── 61.jpg │ │ │ ├── 62.jpg │ │ │ ├── 63.jpg │ │ │ ├── 64.jpg │ │ │ ├── 65.jpg │ │ │ ├── 66.jpg │ │ │ ├── 67.jpg │ │ │ ├── 68.jpg │ │ │ ├── 69.jpg │ │ │ ├── 7.jpg │ │ │ ├── 70.jpg │ │ │ ├── 8.jpg │ │ │ ├── 9.jpg │ │ │ └── OCR.jpg │ │ ├── gerdalies.jpg │ │ ├── penguin1.jpg │ │ ├── penguin2.jpg │ │ ├── penguin3.jpg │ │ └── penguin4.jpg │ ├── README.md │ └── object-detection-using-contour-finder.ipynb ├── 04- Noisey OCR Characters │ ├── Inputs │ │ └── noisey_OCR.jpg │ ├── README.md │ ├── noisey_OCR.py │ └── noisey_OCR_characters │ │ ├── char1.jpg │ │ ├── char10.jpg │ │ ├── char100.jpg │ │ ├── char101.jpg │ │ ├── char102.jpg │ │ ├── char103.jpg │ │ ├── char104.jpg │ │ ├── char105.jpg │ │ ├── char106.jpg │ │ ├── char107.jpg │ │ ├── char108.jpg │ │ ├── char109.jpg │ │ ├── char11.jpg │ │ ├── char110.jpg │ │ ├── char111.jpg │ │ ├── char112.jpg │ │ ├── char113.jpg │ │ ├── char114.jpg │ │ ├── char115.jpg │ │ ├── char116.jpg │ │ ├── char117.jpg │ │ ├── char118.jpg │ │ ├── char119.jpg │ │ ├── char12.jpg │ │ ├── char120.jpg │ │ ├── char121.jpg │ │ ├── char122.jpg │ │ ├── char123.jpg │ │ ├── char124.jpg │ │ ├── char125.jpg │ │ ├── char126.jpg │ │ ├── char127.jpg │ │ ├── char128.jpg │ │ ├── char129.jpg │ │ ├── char13.jpg │ │ ├── char130.jpg │ │ ├── char131.jpg │ │ ├── char132.jpg │ │ ├── char133.jpg │ │ ├── char134.jpg │ │ ├── char135.jpg │ │ ├── char136.jpg │ │ ├── char137.jpg │ │ ├── char138.jpg │ │ ├── char139.jpg │ │ ├── char14.jpg │ │ ├── char140.jpg │ │ ├── char141.jpg │ │ ├── char142.jpg │ │ ├── char143.jpg │ │ ├── char144.jpg │ │ ├── char145.jpg │ │ ├── char146.jpg │ │ ├── char147.jpg │ │ ├── char148.jpg │ │ ├── char149.jpg │ │ ├── char15.jpg │ │ ├── char150.jpg │ │ ├── char151.jpg │ │ ├── char152.jpg │ │ ├── char153.jpg │ │ ├── char154.jpg │ │ ├── char155.jpg │ │ ├── char156.jpg │ │ ├── char157.jpg │ │ ├── char158.jpg │ │ ├── char159.jpg │ │ ├── char16.jpg │ │ ├── char160.jpg │ │ ├── char161.jpg │ │ ├── char162.jpg │ │ ├── char163.jpg │ │ ├── char164.jpg │ │ ├── char165.jpg │ │ ├── char166.jpg │ │ ├── char17.jpg │ │ ├── char18.jpg │ │ ├── char19.jpg │ │ ├── char2.jpg │ │ ├── char20.jpg │ │ ├── char21.jpg │ │ ├── char22.jpg │ │ ├── char23.jpg │ │ ├── char24.jpg │ │ ├── char25.jpg │ │ ├── char26.jpg │ │ ├── char27.jpg │ │ ├── char28.jpg │ │ ├── char29.jpg │ │ ├── char3.jpg │ │ ├── char30.jpg │ │ ├── char31.jpg │ │ ├── char32.jpg │ │ ├── char33.jpg │ │ ├── char34.jpg │ │ ├── char35.jpg │ │ ├── char36.jpg │ │ ├── char37.jpg │ │ ├── char38.jpg │ │ ├── char39.jpg │ │ ├── char4.jpg │ │ ├── char40.jpg │ │ ├── char41.jpg │ │ ├── char42.jpg │ │ ├── char43.jpg │ │ ├── char44.jpg │ │ ├── char45.jpg │ │ ├── char46.jpg │ │ ├── char47.jpg │ │ ├── char48.jpg │ │ ├── char49.jpg │ │ ├── char5.jpg │ │ ├── char50.jpg │ │ ├── char51.jpg │ │ ├── char52.jpg │ │ ├── char53.jpg │ │ ├── char54.jpg │ │ ├── char55.jpg │ │ ├── char56.jpg │ │ ├── char57.jpg │ │ ├── char58.jpg │ │ ├── char59.jpg │ │ ├── char6.jpg │ │ ├── char60.jpg │ │ ├── char61.jpg │ │ ├── char62.jpg │ │ ├── char63.jpg │ │ ├── char64.jpg │ │ ├── char65.jpg │ │ ├── char66.jpg │ │ ├── char67.jpg │ │ ├── char68.jpg │ │ ├── char69.jpg │ │ ├── char7.jpg │ │ ├── char70.jpg │ │ ├── char71.jpg │ │ ├── char72.jpg │ │ ├── char73.jpg │ │ ├── char74.jpg │ │ ├── char75.jpg │ │ ├── char76.jpg │ │ ├── char77.jpg │ │ ├── char78.jpg │ │ ├── char79.jpg │ │ ├── char8.jpg │ │ ├── char80.jpg │ │ ├── char81.jpg │ │ ├── char82.jpg │ │ ├── char83.jpg │ │ ├── char84.jpg │ │ ├── char85.jpg │ │ ├── char86.jpg │ │ ├── char87.jpg │ │ ├── char88.jpg │ │ ├── char89.jpg │ │ ├── char9.jpg │ │ ├── char90.jpg │ │ ├── char91.jpg │ │ ├── char92.jpg │ │ ├── char93.jpg │ │ ├── char94.jpg │ │ ├── char95.jpg │ │ ├── char96.jpg │ │ ├── char97.jpg │ │ ├── char98.jpg │ │ ├── char99.jpg │ │ └── noisey_OCR.jpg └── README.md ├── 09- Color Image Processing ├── README.md ├── inputs │ └── rubix.png ├── microsoft_logo.py ├── results │ ├── Microsoft.jpg │ ├── rubix.jpg │ └── video_color_detection.mp4 ├── rubix.py └── video_color_detection.py ├── 10-1- QrCodeReaderOpencv-video.py ├── 10-2- QrCodeReaderOpencv-image.ipynb ├── 11- color_detection.py ├── 12- ColorDetection_ContrastEnhancement.py ├── 13- Snow Gif ├── README.md ├── snow.gif ├── snow3.jpg └── snow_gif.py ├── README.md └── color_detection_output ├── ColorDetection_ContrastEnhancement.avi └── color_detection.avi /01- Pre processing Techniques 01/01.py: -------------------------------------------------------------------------------- 1 | import cv2 2 | import numpy as np 3 | import matplotlib.pyplot as plt 4 | 5 | rows = 320 6 | cols = 320 7 | 8 | chess_board = np.zeros((rows, cols), dtype = 'uint8') 9 | block_size = chess_board.shape[0] // 8 10 | 11 | flag = 0 12 | 13 | for i in range(0, rows, block_size): 14 | for j in range(0, cols, block_size): 15 | 16 | if flag == 0: 17 | chess_board[i : i + block_size, j : j + block_size] = 0 18 | flag = 1 19 | 20 | else: 21 | chess_board[i : i + block_size, j : j + block_size] = 255 22 | flag = 0 23 | 24 | if flag == 0: 25 | flag = 1 26 | 27 | else: 28 | flag = 0 29 | 30 | plt.imshow(chess_board, cmap = 'gray') 31 | cv2.imwrite("/content/drive/MyDrive/Assignment-21/Results/chess_board.jpg", chess_board) -------------------------------------------------------------------------------- /01- Pre processing Techniques 01/02.py: -------------------------------------------------------------------------------- 1 | import cv2 2 | import numpy as np 3 | import matplotlib.pyplot as plt 4 | 5 | image1 = cv2.imread("/content/drive/MyDrive/Assignment-21/1.jpg") 6 | image2 = cv2.imread("/content/drive/MyDrive/Assignment-21/2.jpg") 7 | 8 | 9 | image1 = 255 - image1 10 | plt.subplot(1,2,1).imshow(image1) 11 | cv2.imwrite("/content/drive/MyDrive/Assignment-21/Results/01new.jpg", image1) 12 | 13 | image2 = 255 - image2 14 | plt.subplot(1,2,2).imshow(image2) 15 | cv2.imwrite("/content/drive/MyDrive/Assignment-21/Results/02new.jpg", image2) 16 | 17 | -------------------------------------------------------------------------------- /01- Pre processing Techniques 01/03.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import cv2 3 | import matplotlib.pyplot as plt 4 | 5 | image3 = cv2.imread("3.jpg") 6 | 7 | new_image3 = np.zeros_like(image3) 8 | 9 | rows = new_image3.shape[0] 10 | cols = new_image3.shape[1] 11 | 12 | for i in range(new_image3.shape[0]): 13 | for j in range(new_image3.shape[1]): 14 | 15 | new_image3[i, j] = image3[rows - 1 - i, cols - 1 - j] 16 | 17 | plt.imshow(new_image3, cmap = 'gray') 18 | cv2.imwrite("/content/drive/MyDrive/Assignment-21/Results/03new.jpg", new_image3) 19 | -------------------------------------------------------------------------------- /01- Pre processing Techniques 01/04.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import cv2 3 | import matplotlib.pyplot as plt 4 | 5 | image4 = cv2.imread("/content/drive/MyDrive/Assignment-21/4.jpg") 6 | image_gry = cv2.cvtColor(image4, cv2.COLOR_RGB2GRAY) 7 | 8 | for i in range(image_gry.shape[0]): 9 | for j in range(image_gry.shape[1]): 10 | 11 | if image_gry[i, j] > 50: 12 | image_gry[i, j] = 255 13 | 14 | plt.imshow(image_gry, cmap='gray') 15 | cv2.imwrite("/content/drive/MyDrive/Assignment-21/Results/04.jpg", image_gry) 16 | -------------------------------------------------------------------------------- /01- Pre processing Techniques 01/Inputs/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/01- Pre processing Techniques 01/Inputs/1.jpg -------------------------------------------------------------------------------- /01- Pre processing Techniques 01/Inputs/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/01- Pre processing Techniques 01/Inputs/2.jpg -------------------------------------------------------------------------------- /01- Pre processing Techniques 01/Inputs/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/01- Pre processing Techniques 01/Inputs/3.jpg -------------------------------------------------------------------------------- /01- Pre processing Techniques 01/Inputs/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/01- Pre processing Techniques 01/Inputs/4.jpg -------------------------------------------------------------------------------- /01- Pre processing Techniques 01/Inputs/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/01- Pre processing Techniques 01/Inputs/5.jpg -------------------------------------------------------------------------------- /01- Pre processing Techniques 01/Inputs/chess_board.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/01- Pre processing Techniques 01/Inputs/chess_board.jpg -------------------------------------------------------------------------------- /01- Pre processing Techniques 01/README.md: -------------------------------------------------------------------------------- 1 | # Results 2 | 3 | - 01 4 | 5 | # ![1](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/01-%20Pre%20processing%20Techniques%2001/Inputs/1.jpg) 6 | 7 | # ![01new](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/01-%20Pre%20processing%20Techniques%2001/Results/01new.jpg) 8 | 9 | - 03 10 | 11 | # ![03new](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/01-%20Pre%20processing%20Techniques%2001/Results/03new.jpg) 12 | 13 | - 04 14 | 15 | # ![chess_board](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/01-%20Pre%20processing%20Techniques%2001/Inputs/chess_board.jpg) 16 | 17 | # 18 | 19 | ![04n](https://user-images.githubusercontent.com/82975802/139953980-6a377974-5c01-4366-b7d9-52ad3c6328b1.jpg) 20 | -------------------------------------------------------------------------------- /01- Pre processing Techniques 01/Results/01new.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/01- Pre processing Techniques 01/Results/01new.jpg -------------------------------------------------------------------------------- /01- Pre processing Techniques 01/Results/02new.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/01- Pre processing Techniques 01/Results/02new.jpg -------------------------------------------------------------------------------- /01- Pre processing Techniques 01/Results/03new.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/01- Pre processing Techniques 01/Results/03new.jpg -------------------------------------------------------------------------------- /02- Pre Processing Techniques 02/Inputs/ImageEnhance.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/02- Pre Processing Techniques 02/Inputs/ImageEnhance.jpg -------------------------------------------------------------------------------- /02- Pre Processing Techniques 02/Inputs/MNIST_persian.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/02- Pre Processing Techniques 02/Inputs/MNIST_persian.zip -------------------------------------------------------------------------------- /02- Pre Processing Techniques 02/Inputs/sudoku.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/02- Pre Processing Techniques 02/Inputs/sudoku.tif -------------------------------------------------------------------------------- /02- Pre Processing Techniques 02/README.md: -------------------------------------------------------------------------------- 1 | # ImageProcessing3 2 | 3 | - Sudoku 4 | 5 | first remove the extra white border around the table 6 | 7 | # ![croped_margin](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/02-%20Pre%20Processing%20Techniques%2002/Result/cropped_margin.jpg) 8 | 9 | Then crop the non empty cells and save them as a separate image 10 | 11 | # ![block_whit_number](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/02-%20Pre%20Processing%20Techniques%2002/Result/block_whit_number.jpg) 12 | 13 | - Contrast Enhancement 14 | 15 | Original Image 16 | 17 | # ![Contrast_adjustment](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/02-%20Pre%20Processing%20Techniques%2002/Inputs/ImageEnhance.jpg) 18 | 19 | Image Contrast Enhancement 20 | 21 | # ![Contrast_adjustment](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/02-%20Pre%20Processing%20Techniques%2002/Result/Contrast_adjustment.jpg) 22 | -------------------------------------------------------------------------------- /02- Pre Processing Techniques 02/Result/Contrast_adjustment.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/02- Pre Processing Techniques 02/Result/Contrast_adjustment.jpg -------------------------------------------------------------------------------- /02- Pre Processing Techniques 02/Result/MNIST_persian.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/02- Pre Processing Techniques 02/Result/MNIST_persian.rar -------------------------------------------------------------------------------- /02- Pre Processing Techniques 02/Result/block_whit_number.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/02- Pre Processing Techniques 02/Result/block_whit_number.jpg -------------------------------------------------------------------------------- /02- Pre Processing Techniques 02/Result/croped_margin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/02- Pre Processing Techniques 02/Result/croped_margin.jpg -------------------------------------------------------------------------------- /02- Pre Processing Techniques 02/Result/cropped_margin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/02- Pre Processing Techniques 02/Result/cropped_margin.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/Chess_pieces.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import matplotlib.pyplot as plt 3 | import cv2 4 | 5 | image = cv2.imread("chess pieces.jpg") 6 | image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 7 | 8 | image_thresh = cv2.threshold(image_gray, 200, 255, cv2.THRESH_BINARY)[1] 9 | image_thresh = 255 - image_thresh 10 | 11 | contours = cv2.findContours(image_thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) 12 | 13 | if len(contours) == 2: 14 | contours = contours[0] 15 | else: 16 | contours = contours[1] 17 | 18 | idx = 1 19 | 20 | for c in contours: 21 | x, y, w, h = cv2.boundingRect(c) 22 | ROI = image[y : y + h, x : x + w] 23 | cv2.imwrite('/content/drive/MyDrive/ImageProcessing/Assignment-22/Results/Chess_pieces/{}.jpg'.format(idx), ROI) 24 | idx += 1 25 | -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/Mona_lisa.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import matplotlib.pyplot as plt 3 | import cv2 4 | 5 | img = cv2.imread("Mona_Lisa.jpg") 6 | img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) 7 | 8 | def get_gradient_2d(start, stop, width, height): 9 | return np.tile(np.linspace(start, stop, width), (height, 1)) 10 | 11 | gradient_img = get_gradient_2d(10, 250, img.shape[1], img.shape[0]) 12 | gradient_img = np.uint8(gradient_img) 13 | 14 | Mona_Lisa = (img/gradient_img) * 255 15 | 16 | plt.imshow(Mona_Lisa, cmap = 'gray') 17 | cv2.imwrite("/content/drive/MyDrive/ImageProcessing/Assignment-22/Results/Mona_Lisa.jpg", Mona_Lisa) -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/README.md: -------------------------------------------------------------------------------- 1 | # Assignment-22 2 | 3 | # ![img_pass](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/03-%20Mathematical%20Operations%20on%20Images/Results/img_pass.jpg) 4 | 5 | black_hole 6 | 7 | # ![black_hole](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/03-%20Mathematical%20Operations%20on%20Images/Results/black_hole.jpg) 8 | 9 | board_img 10 | 11 | # ![board_img](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/03-%20Mathematical%20Operations%20on%20Images/Results/board_img.jpg) 12 | 13 | highway_img 14 | 15 | # ![highway_img](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/03-%20Mathematical%20Operations%20on%20Images/Results/highway_img.jpg) 16 | 17 | Chess_pieces 18 | - Other results in: .../Results/Chess_pieces. 19 | 20 | # ![Chess_pieces](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/03-%20Mathematical%20Operations%20on%20Images/Results/Chess_pieces/1.jpg) 21 | 22 | Mona_Lisa 23 | 24 | # ![Mona_Lisa](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/03-%20Mathematical%20Operations%20on%20Images/Results/Mona_Lisa.jpg) 25 | -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/Results/Chess_pieces/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/Results/Chess_pieces/1.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/Results/Chess_pieces/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/Results/Chess_pieces/2.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/Results/Chess_pieces/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/Results/Chess_pieces/3.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/Results/Chess_pieces/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/Results/Chess_pieces/4.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/Results/Chess_pieces/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/Results/Chess_pieces/5.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/Results/Chess_pieces/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/Results/Chess_pieces/6.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/Results/Chess_pieces/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/Results/Chess_pieces/7.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/Results/Mona_Lisa.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/Results/Mona_Lisa.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/Results/black_hole.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/Results/black_hole.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/Results/board_img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/Results/board_img.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/Results/highway_img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/Results/highway_img.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/Results/img_pass.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/Results/img_pass.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/black_hole.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import cv2 3 | import matplotlib.pyplot as plt 4 | import os 5 | 6 | path = "/content/drive/MyDrive/ImageProcessing/Assignment-22/images/black hole" 7 | 8 | 9 | list_of_patches = os.listdir(path) 10 | list_of_patches.sort() 11 | images_without_noise = [] 12 | 13 | 14 | for i in range(len(list_of_patches)): 15 | 16 | images = [] 17 | list_of_images = os.listdir(os.path.join(path, list_of_patches[i])) 18 | list_of_images.sort() 19 | 20 | 21 | for j in range(len(list_of_images)): 22 | 23 | image = cv2.imread(os.path.join(path,f'{list_of_patches[i]}' ,f'{list_of_images[j]}')) 24 | image = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) 25 | images.append(image) 26 | 27 | image_without_noise = np.zeros_like(images[0]) 28 | 29 | for k in range(len(images)): 30 | image_without_noise = image_without_noise + images[k] // len(list_of_images) 31 | 32 | images_without_noise.append(image_without_noise) 33 | 34 | 35 | h = images[0].shape[0] * 2 36 | w = images[0].shape[1] * 2 37 | 38 | black_hole = np.zeros((h, w), dtype = 'uint8') 39 | 40 | h_block_size = h // 2 41 | w_block_size = w // 2 42 | n = 0 43 | 44 | for i in range(0, h, h_block_size): 45 | for j in range(0, w, w_block_size): 46 | 47 | black_hole[i : i + h_block_size, j: j + w_block_size] = images_without_noise[n] 48 | n = n + 1 49 | 50 | plt.imshow(image_finall, cmap = 'gray') 51 | 52 | path = "/content/drive/MyDrive/ImageProcessing/Assignment-22/Results" 53 | cv2.imwrite(os.path.join(path, "black_hole.jpg"), black_hole) -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/board_img.py: -------------------------------------------------------------------------------- 1 | import numpy as ns 2 | import cv2 3 | import matplotlib.pyplot as plt 4 | 5 | board_origin = cv2.imread("board - origin.bmp") 6 | board_test = cv2.imread("board - test.bmp") 7 | 8 | board_origin = cv2.cvtColor(board_origin, cv2.COLOR_RGB2GRAY) 9 | board_test = cv2.cvtColor(board_test, cv2.COLOR_RGB2GRAY) 10 | 11 | h = board_origin.shape[0] 12 | w = board_origin.shape[1] 13 | 14 | board_test_flip = np.zeros_like(board_origin) 15 | 16 | for i in range(h): 17 | for j in range(w): 18 | 19 | board_test_flip[i, j] = board_test[i, w - j - 1] 20 | 21 | board_img = cv2.subtract(board_test_flip, board_origin) 22 | 23 | plt.imshow(board_img, cmap = 'gray') 24 | 25 | cv2.imwrite(os.path.join(path, "board_img.jpg"), board_img) -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/highway_img.py: -------------------------------------------------------------------------------- 1 | import cv2 2 | import numpy as np 3 | import matplotlib.pyplot as plt 4 | import os 5 | 6 | path = "/content/drive/MyDrive/ImageProcessing/Assignment-22/images/highway" 7 | 8 | list_of_images = os.listdir(path) 9 | list_of_images.sort() 10 | 11 | images = [] 12 | 13 | for i in range(len(list_of_images)): 14 | 15 | image = cv2.imread(os.path.join(path, f'{list_of_images[i]}')) 16 | image = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) 17 | images.append(image) 18 | 19 | highway_img = np.zeros_like(images[0]) 20 | 21 | for i in range(len(images)): 22 | highway_img = highway_img + images[i] // len(images) 23 | 24 | plt.imshow(highway_img, cmap = 'gray') 25 | 26 | path = "/content/drive/MyDrive/ImageProcessing/Assignment-22/Results" 27 | cv2.imwrite(os.path.join(path, "highway_img.jpg"), highway_img) -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/img_pass.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import cv2 3 | import matplotlib.pyplot as plt 4 | import os 5 | 6 | img_a = cv2.imread("a.tif") 7 | img_b = cv2.imread("b.tif") 8 | 9 | img_a = cv2.cvtColor(img_a, cv2.COLOR_RGB2GRAY) 10 | img_b = cv2.cvtColor(img_b, cv2.COLOR_RGB2GRAY) 11 | img_a = 255 - img_a 12 | 13 | img_pass = cv2.multiply(img_a, img_b) 14 | img_pass = 255 - img_pass 15 | 16 | plt.imshow(img_pass, cmap = 'gray') 17 | 18 | path = "/content/drive/MyDrive/ImageProcessing/Assignment-22/Results" 19 | cv2.imwrite(os.path.join(path, "img_pass.jpg"), img_pass) -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/Mona_Lisa.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/Mona_Lisa.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/a.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/a.tif -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/b.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/b.tif -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/1/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/1/1.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/1/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/1/2.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/1/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/1/3.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/1/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/1/4.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/1/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/1/5.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/2/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/2/1.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/2/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/2/2.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/2/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/2/3.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/2/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/2/4.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/2/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/2/5.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/3/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/3/1.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/3/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/3/2.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/3/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/3/3.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/3/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/3/4.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/3/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/3/5.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/4/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/4/1.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/4/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/4/2.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/4/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/4/3.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/4/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/4/4.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/4/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/4/5.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/black hole/Black_hole.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/black hole/Black_hole.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/board - origin.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/board - origin.bmp -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/board - test.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/board - test.bmp -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/chess pieces.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/chess pieces.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/highway/h0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/highway/h0.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/highway/h1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/highway/h1.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/highway/h10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/highway/h10.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/highway/h11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/highway/h11.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/highway/h12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/highway/h12.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/highway/h13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/highway/h13.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/highway/h14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/highway/h14.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/highway/h2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/highway/h2.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/highway/h3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/highway/h3.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/highway/h4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/highway/h4.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/highway/h5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/highway/h5.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/highway/h6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/highway/h6.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/highway/h7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/highway/h7.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/highway/h8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/highway/h8.jpg -------------------------------------------------------------------------------- /03- Mathematical Operations on Images/inputs/highway/h9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/03- Mathematical Operations on Images/inputs/highway/h9.jpg -------------------------------------------------------------------------------- /04- Image Filtering/Inputs/01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/04- Image Filtering/Inputs/01.jpg -------------------------------------------------------------------------------- /04- Image Filtering/Inputs/02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/04- Image Filtering/Inputs/02.jpg -------------------------------------------------------------------------------- /04- Image Filtering/Inputs/3ShadesOfGray.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/04- Image Filtering/Inputs/3ShadesOfGray.mp4 -------------------------------------------------------------------------------- /04- Image Filtering/Inputs/building.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/04- Image Filtering/Inputs/building.jpg -------------------------------------------------------------------------------- /04- Image Filtering/Inputs/building.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/04- Image Filtering/Inputs/building.tif -------------------------------------------------------------------------------- /04- Image Filtering/Inputs/lion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/04- Image Filtering/Inputs/lion.png -------------------------------------------------------------------------------- /04- Image Filtering/README.md: -------------------------------------------------------------------------------- 1 | # ImageProcessing5 2 | 3 | - Finding all edges of image 4 | 5 | Original image 6 | 7 | # ![lion](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/04-%20Image%20Filtering/Inputs/lion.png) 8 | 9 | After applying filter 10 | 11 | # ![lion](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/04-%20Image%20Filtering/Result/lion.jpg) 12 | 13 | - Diagonal and horizontal edges, Diagonal and vertical edges 14 | 15 | Original image 16 | 17 | # ![building](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/04-%20Image%20Filtering/Inputs/building.jpg) 18 | 19 | Diagonal and horizontal edges after applying filter 20 | 21 | # ![building02](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/04-%20Image%20Filtering/Result/building02.jpg) 22 | 23 | Diagonal and vertical edges after applying filter 24 | 25 | # ![building01](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/04-%20Image%20Filtering/Result/building01.jpg) 26 | 27 | - Averaging 28 | 29 | filter with size 3 30 | 31 | # ![MedianFilter_size3](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/04-%20Image%20Filtering/Result/MedianFilter_size3.jpg) 32 | 33 | filter with size 7 34 | 35 | # ![MedianFilter_size7](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/04-%20Image%20Filtering/Result/MedianFilter_size7.jpg) 36 | -------------------------------------------------------------------------------- /04- Image Filtering/Result/MedianFilter_size15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/04- Image Filtering/Result/MedianFilter_size15.jpg -------------------------------------------------------------------------------- /04- Image Filtering/Result/MedianFilter_size3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/04- Image Filtering/Result/MedianFilter_size3.jpg -------------------------------------------------------------------------------- /04- Image Filtering/Result/MedianFilter_size5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/04- Image Filtering/Result/MedianFilter_size5.jpg -------------------------------------------------------------------------------- /04- Image Filtering/Result/MedianFilter_size7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/04- Image Filtering/Result/MedianFilter_size7.jpg -------------------------------------------------------------------------------- /04- Image Filtering/Result/building01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/04- Image Filtering/Result/building01.jpg -------------------------------------------------------------------------------- /04- Image Filtering/Result/building02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/04- Image Filtering/Result/building02.jpg -------------------------------------------------------------------------------- /04- Image Filtering/Result/lion.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/04- Image Filtering/Result/lion.jpg -------------------------------------------------------------------------------- /05- Salt and Pepper Noise/README.md: -------------------------------------------------------------------------------- 1 | # salt_and_pepper_noise 2 | 3 | - original image 4 | 5 | # ![mr_bean](https://github.com/n-ebrahimian/salt_and_pepper_noise/blob/main/inputs/mr_bean.jpeg) 6 | 7 | - Adding salt and pepper noise to the image 8 | 9 | # ![salt_and_pepper_mr_bean](https://github.com/n-ebrahimian/salt_and_pepper_noise/blob/main/Result/salt_and_pepper_mr_bean.jpg) 10 | 11 | - Remove salt and pepper noise from image 12 | 13 | # ![remove_salt_and_pepper_mr_bean](https://github.com/n-ebrahimian/salt_and_pepper_noise/blob/main/Result/remove_salt_and_pepper_mr_bean.jpg) 14 | 15 | 16 | - Run the following command to add salt and pepper noise to the image and remove: 17 | 18 | ``` 19 | !python3 salt_and_pepper_noise.py --input_image .../inputs/mr_bean.jpeg 20 | 21 | ``` 22 | 23 | - salt and pepper noise to TV screen and seve as gif file 24 | 25 | # ![TV_screen_noise](https://github.com/n-ebrahimian/salt_and_pepper_noise/blob/main/Result/TV_screen_noise.gif) 26 | -------------------------------------------------------------------------------- /05- Salt and Pepper Noise/Result/TV_screen_noise.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/05- Salt and Pepper Noise/Result/TV_screen_noise.gif -------------------------------------------------------------------------------- /05- Salt and Pepper Noise/Result/remove_salt_and_pepper_mr_bean.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/05- Salt and Pepper Noise/Result/remove_salt_and_pepper_mr_bean.jpg -------------------------------------------------------------------------------- /05- Salt and Pepper Noise/Result/salt_and_pepper_mr_bean.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/05- Salt and Pepper Noise/Result/salt_and_pepper_mr_bean.jpg -------------------------------------------------------------------------------- /05- Salt and Pepper Noise/functions.py: -------------------------------------------------------------------------------- 1 | import cv2 2 | import numpy as np 3 | from google.colab.patches import cv2_imshow 4 | import argparse 5 | import os 6 | from mtcnn.mtcnn import MTCNN 7 | import matplotlib.pyplot as plt 8 | from PIL import Image 9 | import math 10 | 11 | path = "/content/drive/MyDrive/ImageProcessing/Assignment-27" 12 | 13 | 14 | def draw_facebox_and_keypoints(filename, result_list): 15 | # load the image 16 | data = plt.imread(filename) 17 | # plot the image 18 | plt.imshow(data) 19 | # get the context for drawing boxes 20 | ax = plt.gca() 21 | # plot each box 22 | for result in result_list: 23 | # get coordinates 24 | x, y, width, height = result['box'] 25 | # create the shape 26 | rect = plt.Rectangle((x, y), width, height,fill=False, color='orange') 27 | # draw the box 28 | ax.add_patch(rect) 29 | # draw the dots 30 | for key, value in result['keypoints'].items(): 31 | # create and draw dot 32 | dot = plt.Circle(value, radius=2, color='red') 33 | ax.add_patch(dot) 34 | # show the plot 35 | cv2.imwrite(os.path.join(path, "result/Face_rotation_angle_bean.jpg"), data) 36 | plt.show()# filename = 'test1.jpg' # filename is defined above, otherwise uncomment 37 | 38 | 39 | def EuclideanDistance(source_representation, test_representation): 40 | euclidean_distance = source_representation - test_representation 41 | euclidean_distance = np.sum(np.multiply(euclidean_distance, euclidean_distance)) 42 | euclidean_distance = np.sqrt(euclidean_distance) 43 | return euclidean_distance 44 | 45 | def alignment_procedure(img, left_eye, right_eye): 46 | 47 | #this function aligns given face in img based on left and right eye coordinates 48 | 49 | left_eye_x, left_eye_y = left_eye 50 | right_eye_x, right_eye_y = right_eye 51 | 52 | #----------------------- 53 | #find rotation direction 54 | 55 | if left_eye_y > right_eye_y: 56 | point_3rd = (right_eye_x, left_eye_y) 57 | direction = -1 #rotate same direction to clock 58 | else: 59 | point_3rd = (left_eye_x, right_eye_y) 60 | direction = 1 #rotate inverse direction of clock 61 | 62 | #----------------------- 63 | #find length of triangle edges 64 | 65 | a = EuclideanDistance(np.array(left_eye), np.array(point_3rd)) 66 | b = EuclideanDistance(np.array(right_eye), np.array(point_3rd)) 67 | c = EuclideanDistance(np.array(right_eye), np.array(left_eye)) 68 | 69 | #----------------------- 70 | 71 | #apply cosine rule 72 | 73 | if b != 0 and c != 0: #this multiplication causes division by zero in cos_a calculation 74 | 75 | cos_a = (b*b + c*c - a*a)/(2*b*c) 76 | angle = np.arccos(cos_a) #angle in radian 77 | angle = (angle * 180) / math.pi #radian to degree 78 | 79 | #----------------------- 80 | #rotate base image 81 | 82 | if direction == -1: 83 | angle = 90 - angle 84 | 85 | print("angle: ", angle) 86 | img = Image.fromarray(img) 87 | img = np.array(img.rotate(direction * angle)) 88 | 89 | #----------------------- 90 | 91 | return img 92 | 93 | 94 | -------------------------------------------------------------------------------- /05- Salt and Pepper Noise/inputs/mr_bean.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/05- Salt and Pepper Noise/inputs/mr_bean.jpeg -------------------------------------------------------------------------------- /05- Salt and Pepper Noise/inputs/television01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/05- Salt and Pepper Noise/inputs/television01.png -------------------------------------------------------------------------------- /05- Salt and Pepper Noise/inputs/television02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/05- Salt and Pepper Noise/inputs/television02.png -------------------------------------------------------------------------------- /05- Salt and Pepper Noise/inputs/television03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/05- Salt and Pepper Noise/inputs/television03.jpg -------------------------------------------------------------------------------- /05- Salt and Pepper Noise/salt_and_pepper_noise.py: -------------------------------------------------------------------------------- 1 | 2 | import cv2 3 | import numpy as np 4 | from google.colab.patches import cv2_imshow 5 | import argparse 6 | import os 7 | from mtcnn.mtcnn import MTCNN 8 | import matplotlib.pyplot as plt 9 | from PIL import Image 10 | import math 11 | from functions import * 12 | from argparse import ArgumentParser 13 | 14 | parser = ArgumentParser() 15 | parser.add_argument("--input_image", type=str) 16 | args = parser.parse_args() 17 | 18 | path = "/content/drive/MyDrive/ImageProcessing/Assignment-27" 19 | 20 | #---------------salt_and_pepper_noise 21 | 22 | # img = cv2.imread(args.input_image) 23 | img = cv2.imread(args.input_image) 24 | img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 25 | img_gray_copy = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 26 | img_gray_copy1 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 27 | 28 | noise_mask = np.random.randint(0, 21, size = (img_gray.shape[0], img_gray.shape[1]), dtype=int) 29 | 30 | zeros_pixel = np.where(noise_mask == 0) 31 | one_pixel = np.where(noise_mask == 20) 32 | 33 | img_gray[zeros_pixel] = 0 34 | img_gray[one_pixel] = 255 35 | 36 | cv2_imshow(img_gray) 37 | cv2.imwrite(os.path.join(path, "result/salt_and_pepper_mr_bean.jpg"), img_gray) 38 | 39 | #---------------remove noise 40 | 41 | img_without_noise = cv2.medianBlur(img_gray, 3) 42 | cv2_imshow(img_without_noise) 43 | cv2.imwrite(os.path.join(path, "result/remove_salt_and_pepper_mr_bean.jpg"), img_without_noise) 44 | -------------------------------------------------------------------------------- /06- Encrypt and Decrypt Image/README.md: -------------------------------------------------------------------------------- 1 | # Encrypt-and-Decrypt-Image 2 | 3 | - Main image 4 | 5 | # ![01](https://github.com/n-ebrahimian/Encrypt-and-Decrypt-Image/blob/main/input/01.jpg) 6 | 7 | - Encrypted image using created key 8 | 9 | # ![encrypted_img](https://raw.githubusercontent.com/n-ebrahimian/Encrypt-and-Decrypt-Image/main/output/encrypted_img.bmp) 10 | 11 | - Decrypted image 12 | 13 | # ![decrypted_img](https://github.com/n-ebrahimian/Encrypt-and-Decrypt-Image/blob/main/output/decrypted_img.jpg) 14 | 15 | - Run the following command for encrypt image: 16 | 17 | ``` 18 | !python3 encrypt_image.py --input_image .../input/01.jpg 19 | 20 | ``` 21 | 22 | - Run the following command for decrypt image: 23 | 24 | ``` 25 | !python3 decrypt_image.py --encrypted_image .../output/encrypted_img.bmp --key .../output/key.npy 26 | 27 | ``` 28 | -------------------------------------------------------------------------------- /06- Encrypt and Decrypt Image/decrypt_image.py: -------------------------------------------------------------------------------- 1 | 2 | import numpy as np 3 | import cv2 4 | from google.colab.patches import cv2_imshow 5 | import argparse 6 | from argparse import ArgumentParser 7 | import os 8 | from PIL import Image as im 9 | 10 | 11 | path = "/content/drive/MyDrive/ImageProcessing/Assignment-28" 12 | 13 | parser = ArgumentParser() 14 | parser.add_argument("--encrypted_image", type=str) 15 | parser.add_argument("--key", type=str) 16 | args = parser.parse_args() 17 | 18 | encrypted_img = im.open(args.encrypted_image) 19 | encrypted_img = np.array(encrypted_img) 20 | 21 | key = np.load(args.key) 22 | 23 | decrypted_img = np.zeros_like(encrypted_img) 24 | 25 | for i in range(encrypted_img.shape[0]): 26 | for j in range(encrypted_img.shape[1]): 27 | 28 | key_value = key[i, j] 29 | new_value = encrypted_img[i, j] - key_value 30 | 31 | if new_value < 0: 32 | new_value = 255 + new_value 33 | 34 | decrypted_img[i, j] = new_value 35 | 36 | cv2.imwrite(os.path.join(path + "/output/decrypted_img.jpg"), decrypted_img) 37 | cv2_imshow(decrypted_img) -------------------------------------------------------------------------------- /06- Encrypt and Decrypt Image/encrypt_image.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | import numpy as np 4 | import cv2 5 | from google.colab.patches import cv2_imshow 6 | import argparse 7 | from argparse import ArgumentParser 8 | import os 9 | from PIL import Image as im 10 | 11 | 12 | path = "/content/drive/MyDrive/ImageProcessing/Assignment-28" 13 | 14 | parser = ArgumentParser() 15 | parser.add_argument("--input_image", type=str) 16 | args = parser.parse_args() 17 | 18 | img = cv2.imread(args.input_image) 19 | img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 20 | # cv2_imshow(img) 21 | 22 | key = np.random.randint(0, pow(2, 8)-1, size = (img.shape[0], img.shape[1]), dtype=int) 23 | np.save(os.path.join(path+ "/output/key"), key) 24 | 25 | encrypted_img = np.zeros_like(img) 26 | 27 | for i in range(img.shape[0]): 28 | for j in range(img.shape[1]): 29 | 30 | key_value = key[i, j] 31 | new_value = img[i, j] + key_value 32 | if new_value > 255: 33 | new_value = new_value - 255 34 | 35 | encrypted_img[i, j] = new_value 36 | 37 | # cv2_imshow(encrypted_img) 38 | 39 | encrypted_img = im.fromarray(encrypted_img) 40 | encrypted_img.save(os.path.join(path+ "/output/encrypted_img.bmp")) 41 | -------------------------------------------------------------------------------- /06- Encrypt and Decrypt Image/input/01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/06- Encrypt and Decrypt Image/input/01.jpg -------------------------------------------------------------------------------- /06- Encrypt and Decrypt Image/input/02.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/06- Encrypt and Decrypt Image/input/02.jpeg -------------------------------------------------------------------------------- /06- Encrypt and Decrypt Image/output/decrypted_img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/06- Encrypt and Decrypt Image/output/decrypted_img.jpg -------------------------------------------------------------------------------- /06- Encrypt and Decrypt Image/output/encrypted_img.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/06- Encrypt and Decrypt Image/output/encrypted_img.bmp -------------------------------------------------------------------------------- /06- Encrypt and Decrypt Image/output/key.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/06- Encrypt and Decrypt Image/output/key.npy -------------------------------------------------------------------------------- /07- Removal Noise and Blurred Background/02-blur_flower_background.py: -------------------------------------------------------------------------------- 1 | 2 | import numpy as np 3 | import cv2 4 | from google.colab.patches import cv2_imshow 5 | import argparse 6 | from argparse import ArgumentParser 7 | import os 8 | from argparse import ArgumentParser 9 | 10 | path = "/content/drive/MyDrive/ImageProcessing/Assignment-26" 11 | 12 | parser = ArgumentParser() 13 | parser.add_argument("--flower_image", type=str) 14 | args = parser.parse_args() 15 | 16 | img = cv2.imread(args.flower_image) 17 | img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 18 | 19 | roi = np.where(img_gray>150) 20 | 21 | img_blur = cv2.blur(img_gray, (30,30)) 22 | img_blur[roi] = img_gray[roi] 23 | 24 | # cv2_imshow(img_blur) 25 | 26 | img_blur = cv2.medianBlur(img_blur, 5) 27 | # cv2_imshow(img_blur) 28 | 29 | cv2.imwrite(os.path.join(path + "/Result/flower_output.jpg"), img_blur) -------------------------------------------------------------------------------- /07- Removal Noise and Blurred Background/03-board.py: -------------------------------------------------------------------------------- 1 | 2 | import numpy as np 3 | import cv2 4 | from google.colab.patches import cv2_imshow 5 | import argparse 6 | from argparse import ArgumentParser 7 | import os 8 | from argparse import ArgumentParser 9 | 10 | path = "/content/drive/MyDrive/ImageProcessing/Assignment-26" 11 | 12 | parser = ArgumentParser() 13 | parser.add_argument("--board_image", type=str) 14 | args = parser.parse_args() 15 | 16 | img = cv2.imread(args.board_image) 17 | img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 18 | # cv2_imshow(img_gray) 19 | 20 | board_without_noise = cv2.medianBlur(img_gray, 3) 21 | board_without_noise = cv2.medianBlur(board_without_noise, 3) 22 | 23 | # cv2_imshow(img_without_noise) 24 | cv2.imwrite(os.path.join(path + "/Result/board.jpg"), board_without_noise) -------------------------------------------------------------------------------- /07- Removal Noise and Blurred Background/Inputs/board.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/07- Removal Noise and Blurred Background/Inputs/board.tif -------------------------------------------------------------------------------- /07- Removal Noise and Blurred Background/Inputs/flower_input.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/07- Removal Noise and Blurred Background/Inputs/flower_input.jpg -------------------------------------------------------------------------------- /07- Removal Noise and Blurred Background/README.md: -------------------------------------------------------------------------------- 1 | # ImageProcessing6 2 | 3 | - Blurred background 4 | 5 | Main image 6 | 7 | # ![flower_input](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/07-%20Removal%20Noise%20and%20Blurred%20Background/Inputs/flower_input.jpg) 8 | 9 | - Blurred background 10 | 11 | # ![flower_output](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/07-%20Removal%20Noise%20and%20Blurred%20Background/Result/flower_output.jpg) 12 | 13 | Run the following command: 14 | 15 | ``` 16 | !python3 02-blur_flower_background.py --flower_image ./inputs/flower_input.jpg 17 | 18 | ``` 19 | # 20 | 21 | - Result of removal salt and pepper noise 22 | 23 | # ![board](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/07-%20Removal%20Noise%20and%20Blurred%20Background/Result/board.jpg) 24 | 25 | Run the following command: 26 | 27 | ``` 28 | !python3 03-board.py --board_image ./inputs/board.tif 29 | 30 | ``` 31 | 32 | -------------------------------------------------------------------------------- /07- Removal Noise and Blurred Background/Result/board.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/07- Removal Noise and Blurred Background/Result/board.jpg -------------------------------------------------------------------------------- /07- Removal Noise and Blurred Background/Result/flower_output.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/07- Removal Noise and Blurred Background/Result/flower_output.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/01- Crop MNIST Numbers/01-Crop_MNIST_numbers.py: -------------------------------------------------------------------------------- 1 | 2 | import numpy as np 3 | import cv2 4 | from google.colab.patches import cv2_imshow 5 | import argparse 6 | from argparse import ArgumentParser 7 | import os 8 | from argparse import ArgumentParser 9 | 10 | path = "/content/drive/MyDrive/ImageProcessing/Assignment-26" 11 | 12 | parser = ArgumentParser() 13 | parser.add_argument("--MNIST_numbers", type=str) 14 | args = parser.parse_args() 15 | 16 | img = cv2.imread(args.MNIST_numbers) 17 | img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 18 | 19 | #---------remove_noise 20 | 21 | thresh = cv2.adaptiveThreshold(img_gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 57, 5) 22 | thresh = 255 - thresh 23 | 24 | contours = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) 25 | contours = contours[0] if len(contours) == 2 else contours[1] 26 | 27 | for cnt in contours: 28 | area = cv2.contourArea(cnt) 29 | 30 | if area < 3: 31 | cv2.drawContours(thresh, [cnt], -1, (0,0,0), -1) 32 | 33 | 34 | #---------number of rows and columns 35 | 36 | thresh = 255 - thresh 37 | contours = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) 38 | contours = contours[0] if len(contours) == 2 else contours[1] 39 | 40 | 41 | num_columns = 0 42 | num_rows = 0 43 | n_r = 0 44 | n_c = 0 45 | flag = 0 46 | 47 | numbers = [] 48 | 49 | for cnt in contours: 50 | 51 | area = cv2.contourArea(cnt) 52 | x, y, w, h = cv2.boundingRect(cnt) 53 | 54 | if area > 70: 55 | 56 | if flag == 0: 57 | n_r = x 58 | n_c = y 59 | 60 | if x > n_r - 10 and x < n_r + 10: 61 | num_rows = num_rows + 1 62 | 63 | if area > 110: 64 | 65 | if y > n_c - 10 and y < n_c + 10: 66 | num_columns = num_columns + 1 67 | flag = 1 68 | 69 | stride_in_rows = img_gray.shape[0] // num_rows 70 | stride_in_columns = img_gray.shape[1] // num_columns 71 | 72 | #--------------crop and save images 73 | 74 | images = [] 75 | number = 0 76 | rows = 1 77 | 78 | for i in range(0, img_gray.shape[0], stride_in_rows): 79 | for j in range(0, img_gray.shape[1], stride_in_columns): 80 | 81 | img = img_gray[i: i + stride_in_rows, j: j + stride_in_columns] 82 | images.append(img) 83 | 84 | if rows %5 == 0 and j == img_gray.shape[1]-stride_in_columns: 85 | 86 | directory = os.path.join(path, "Result/MNIST/", f"numbers_{number}") 87 | 88 | if not os.path.exists(directory): 89 | os.makedirs(directory) 90 | 91 | for k in range(len(images)): 92 | cv2.imwrite(os.path.join(directory, f"{k+1}_" + f"{number}.jpg"), images[k]) 93 | 94 | images = [] 95 | number = number+1 96 | 97 | rows = rows+1 -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/01- Crop MNIST Numbers/README.md: -------------------------------------------------------------------------------- 1 | 2 | # 01Crop_MNIST_numbers 3 | 4 | - Crop all numbers in image and save similar numbers in one path 5 | 6 | # ![mnist](https://github.com/n-ebrahimian/object-detection-using-contour_finder/blob/main/01Crop_MNIST_numbers/inputs/mnist.png) 7 | 8 | 9 | - Result folder: 10 | 11 | 12 | .../Result/MNIST/numbers_0/ 0_0.jpg, 1_0.jpg , ..., 500_0.jpg 13 | 14 | ... 15 | 16 | .../Result/MNIST/numbers_9/ 0_9.jpg, 1_9.jpg, ..., 500_9.jpg 17 | 18 | # 19 | 20 | - Run the following command: 21 | 22 | ``` 23 | !python3 01-Crop_MNIST_numbers.py --MNIST_numbers .../inputs/mnist.png 24 | 25 | ``` 26 | -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/01- Crop MNIST Numbers/Result/MNIST.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/01- Crop MNIST Numbers/Result/MNIST.zip -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/01- Crop MNIST Numbers/inputs/mnist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/01- Crop MNIST Numbers/inputs/mnist.png -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/02- Chess Pieces/Chess_pieces.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import matplotlib.pyplot as plt 3 | import cv2 4 | 5 | image = cv2.imread("chess pieces.jpg") 6 | image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 7 | 8 | image_thresh = cv2.threshold(image_gray, 200, 255, cv2.THRESH_BINARY)[1] 9 | image_thresh = 255 - image_thresh 10 | 11 | contours = cv2.findContours(image_thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) 12 | 13 | if len(contours) == 2: 14 | contours = contours[0] 15 | else: 16 | contours = contours[1] 17 | 18 | idx = 1 19 | 20 | for c in contours: 21 | x, y, w, h = cv2.boundingRect(c) 22 | ROI = image[y : y + h, x : x + w] 23 | cv2.imwrite('/content/drive/MyDrive/ImageProcessing/Assignment-22/Results/Chess_pieces/{}.jpg'.format(idx), ROI) 24 | idx += 1 25 | -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/02- Chess Pieces/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## 02Chess_pieces 3 | 4 | - main image 5 | 6 | # ![Chess_pieces](https://github.com/n-ebrahimian/ImageProcessing2/blob/main/inputs/chess%20pieces.jpg) 7 | 8 | - Other results in: .../Results/Chess_pieces. 9 | 10 | # ![Chess_pieces](https://github.com/n-ebrahimian/object-detection-using-contour_finder/blob/main/02chess_pieces/Results/Chess_pieces/1.jpg) 11 | -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/02- Chess Pieces/Results/Chess_pieces/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/02- Chess Pieces/Results/Chess_pieces/1.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/02- Chess Pieces/Results/Chess_pieces/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/02- Chess Pieces/Results/Chess_pieces/2.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/02- Chess Pieces/Results/Chess_pieces/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/02- Chess Pieces/Results/Chess_pieces/3.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/02- Chess Pieces/Results/Chess_pieces/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/02- Chess Pieces/Results/Chess_pieces/4.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/02- Chess Pieces/Results/Chess_pieces/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/02- Chess Pieces/Results/Chess_pieces/5.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/02- Chess Pieces/Results/Chess_pieces/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/02- Chess Pieces/Results/Chess_pieces/6.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/02- Chess Pieces/Results/Chess_pieces/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/02- Chess Pieces/Results/Chess_pieces/7.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/02- Chess Pieces/inputs/chess pieces.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/02- Chess Pieces/inputs/chess pieces.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Inputs/OCR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Inputs/OCR.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Inputs/gerdalies.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Inputs/gerdalies.tif -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Inputs/noisey_OCR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Inputs/noisey_OCR.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Inputs/penguin1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Inputs/penguin1.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Inputs/penguin2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Inputs/penguin2.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Inputs/penguin3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Inputs/penguin3.jpeg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Inputs/penguin4.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Inputs/penguin4.jpeg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/1.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/10.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/11.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/12.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/13.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/14.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/15.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/16.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/17.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/18.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/19.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/2.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/20.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/21.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/22.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/23.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/24.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/24.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/25.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/25.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/26.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/26.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/27.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/27.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/28.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/28.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/29.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/29.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/3.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/30.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/30.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/31.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/31.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/32.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/32.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/33.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/33.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/34.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/34.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/35.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/35.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/36.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/36.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/37.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/37.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/38.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/38.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/39.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/39.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/4.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/40.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/40.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/41.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/41.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/42.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/42.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/43.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/43.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/44.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/44.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/45.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/45.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/46.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/46.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/47.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/47.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/48.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/48.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/49.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/49.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/5.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/50.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/50.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/51.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/51.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/52.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/52.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/53.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/53.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/54.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/54.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/55.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/55.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/56.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/56.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/57.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/57.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/58.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/58.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/59.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/59.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/6.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/60.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/60.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/61.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/61.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/62.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/62.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/63.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/63.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/64.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/64.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/65.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/65.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/66.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/66.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/67.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/67.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/68.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/68.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/69.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/69.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/7.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/70.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/70.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/8.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/9.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/OCR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/OCR/OCR.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/gerdalies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/gerdalies.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/penguin1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/penguin1.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/penguin2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/penguin2.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/penguin3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/penguin3.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/penguin4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/Output/penguin4.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/03- Object Detection using Contour Finder/README.md: -------------------------------------------------------------------------------- 1 | 2 | # object-detection-using-contour-finder 3 | 4 | - Count the number of penguins in the image 5 | 6 | ![penguin3](https://github.com/n-ebrahimian/object-detection-using-contour_finder/blob/main/03object-detection-using-contour-finder/Output/penguin3.jpg) 7 | 8 | Other results in: .../Output. 9 | 10 | # 11 | 12 | - fill the holes inside the gerdalies 13 | 14 | # ![gerdalies](https://github.com/n-ebrahimian/object-detection-using-contour_finder/blob/main/03object-detection-using-contour-finder/Output/gerdalies.jpg) 15 | 16 | - Crop all character in image and save it as a jpg images 17 | 18 | ![OCR](https://github.com/n-ebrahimian/object-detection-using-contour_finder/blob/main/03object-detection-using-contour-finder/Output/OCR/OCR.jpg) 19 | 20 | Other results in: .../Output/OCR. 21 | 22 | # ![1](https://github.com/n-ebrahimian/object-detection-using-contour_finder/blob/main/03object-detection-using-contour-finder/Output/OCR/1.jpg) 23 | 24 | -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/Inputs/noisey_OCR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/Inputs/noisey_OCR.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/README.md: -------------------------------------------------------------------------------- 1 | # 04noisey_OCR_characters 2 | 3 | Crop all characters in noisy image: 4 | 5 | 1. Median filter 6 | 3. **dilation** and **findContours** to extract lines 7 | 4. **findContours** in each line to extract charecters 8 | 5. Compare each character with other characters in line to extract **_"i"_** and **_double quotation_** characters correctly 9 | 10 | ![noisey_OCR](https://github.com/n-ebrahimian/object-detection-using-contour_finder/blob/main/04noisey_OCR_characters/Inputs/noisey_OCR.jpg) 11 | 12 | # 13 | 14 | ![noisey_OCR](https://github.com/n-ebrahimian/object-detection-using-contour_finder/blob/main/noisey_OCR_characters/noisey_OCR.jpg) 15 | -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import cv2 3 | 4 | 5 | img_gray = cv2.imread("Inputs/noisey_OCR.jpg", cv2.IMREAD_GRAYSCALE) 6 | 7 | img_gray = cv2.medianBlur(img_gray, 3) 8 | img_gray = cv2.medianBlur(img_gray, 3) 9 | ret,thresh = cv2.threshold(img_gray, 100, 255, cv2.THRESH_BINARY_INV) 10 | 11 | kernel = cv2.getStructuringElement(cv2.MORPH_CROSS, (3,3)) 12 | dilated = cv2.dilate(thresh, kernel, iterations = 10) 13 | 14 | 15 | # ------------extract lines----------- 16 | lines = cv2.findContours(dilated, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) 17 | lines = lines[0] if len(lines) == 2 else lines[1] 18 | 19 | # --------------for each line------------- 20 | n = 1 21 | for cnt in lines: 22 | area = cv2.contourArea(cnt) 23 | x, y, w, h = cv2.boundingRect(cnt) 24 | 25 | if area > 200: 26 | Xb = [] 27 | Yb = [] 28 | Wb = [] 29 | Hb = [] 30 | 31 | img = img_gray[y + 5 : y + h - 5, x + 5 : x + w - 5] 32 | img_thresh = thresh[y + 5 : y + h - 5, x + 5 : x + w - 5] 33 | 34 | # ---------------extract all characters in line---------------- 35 | characters = cv2.findContours(img_thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) 36 | characters = characters[0] if len(characters) == 2 else characters[1] 37 | 38 | # ---------------for each character append x, y, w, h---------------- 39 | for char in characters: 40 | area = cv2.contourArea(char) 41 | x, y, w, h = cv2.boundingRect(char) 42 | 43 | if area > 20: 44 | Xb.append(x) 45 | Yb.append(y) 46 | Wb.append(w) 47 | Hb.append(h) 48 | 49 | Xb = np.stack(Xb, axis=0) 50 | Yb = np.stack(Yb, axis=0) 51 | Wb = np.stack(Wb, axis=0) 52 | Hb = np.stack(Hb, axis=0) 53 | 54 | # ---------------each character compared with other characters in line---------------- 55 | for i in range(0, len(Xb)): 56 | flag = 1 57 | 58 | for j in range(i, len(Xb)): 59 | 60 | if i == len(Xb) - 1 and flag == 1: 61 | character = img[Yb[i]: Yb[i] + Hb[i], Xb[i]: Xb[i] + Wb[i]] 62 | cv2.imwrite(f"Output/noisey_OCR_characters/char{n}.jpg", character) 63 | cv2.rectangle(img, (Xb[i], Yb[i]), (Xb[i] + Wb[i], Yb[i] + Hb[i]), (100, 100, 100), 2) 64 | n = n+1 65 | flag = 0 66 | 67 | elif j > i and Xb[i] != -1 and Xb[j] != -1 and flag == 1: 68 | 69 | if ((np.absolute(Yb[j] - Yb[i]) < 10) and (np.absolute(Xb[j] - Xb[i]) < 5) and flag == 1) or ((np.absolute(Yb[j] + Hb[j] - Yb[i]) < 10) and (np.absolute(Xb[j] - Xb[i]) < 5) and flag == 1): 70 | x1 = np.minimum(Xb[j], Xb[i]) 71 | y1 = np.minimum(Yb[j], Yb[i]) 72 | x2 = np.maximum(Xb[j] + Wb[j], Xb[i] + Wb[i]) 73 | y2 = np.maximum(Yb[j] + Hb[j], Yb[i] + Hb[i]) 74 | w = np.absolute(x1 - x2) 75 | h = np.absolute(y1 - y2) 76 | character = img[y1 : y1 + h, x1 : x1 + w] 77 | cv2.imwrite(f"Output/noisey_OCR_characters/char{n}.jpg", character) 78 | cv2.rectangle(img, (x1, y1), (x1 + w, y1 + h), (0, 0, 0), 2) 79 | n = n+1 80 | flag = 0 81 | Xb[i] = -1 82 | Xb[j] = -1 83 | 84 | elif (np.absolute(Xb[j] - Xb[i]) < 11) and (np.absolute(Yb[j] - Yb[i]) < 5) and flag == 1: 85 | x1 = np.minimum(Xb[j], Xb[i]) 86 | y1 = np.minimum(Yb[j], Yb[i]) 87 | x2 = np.maximum(Xb[j] + Wb[j], Xb[i] + Wb[i]) 88 | y2 = np.maximum(Yb[j] + Hb[j], Yb[i] + Hb[i]) 89 | w = np.absolute(x1 - x2) 90 | h = np.absolute(y1 - y2) 91 | character = img[y1 : y1 + h, x1 : x1 + w] 92 | cv2.imwrite(f"Output/noisey_OCR_characters/char{n}.jpg", character) 93 | cv2.rectangle(img, (x1, y1), (x1 + w, y1 + h), (0, 0, 0), 2) 94 | n = n+1 95 | flag = 0 96 | Xb[i] = -1 97 | Xb[j] = -1 98 | 99 | if Xb[i] != -1 and flag == 1: 100 | character = img[Yb[i]: Yb[i] + Hb[i], Xb[i]: Xb[i] + Wb[i]] 101 | cv2.imwrite(f"Output/noisey_OCR_characters/char{n}.jpg", character) 102 | cv2.rectangle(img, (Xb[i], Yb[i]), (Xb[i] + Wb[i], Yb[i] + Hb[i]), (100, 100, 100), 2) 103 | n = n+1 104 | flag = 0 105 | 106 | 107 | cv2.imwrite(f"Output/noisey_OCR_characters/noisey_OCR.jpg", img_gray) 108 | cv2.imshow("image_gray", img_gray) 109 | cv2.waitKey() 110 | 111 | 112 | -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char1.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char10.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char100.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char100.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char101.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char101.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char102.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char102.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char103.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char103.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char104.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char104.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char105.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char105.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char106.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char106.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char107.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char107.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char108.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char108.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char109.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char109.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char11.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char110.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char110.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char111.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char111.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char112.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char112.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char113.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char113.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char114.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char114.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char115.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char115.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char116.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char116.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char117.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char117.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char118.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char118.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char119.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char119.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char12.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char120.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char120.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char121.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char121.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char122.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char122.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char123.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char123.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char124.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char124.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char125.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char125.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char126.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char126.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char127.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char127.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char128.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char129.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char129.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char13.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char130.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char130.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char131.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char131.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char132.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char132.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char133.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char133.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char134.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char134.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char135.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char135.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char136.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char136.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char137.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char137.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char138.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char138.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char139.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char139.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char14.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char140.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char140.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char141.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char141.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char142.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char142.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char143.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char143.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char144.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char144.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char145.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char145.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char146.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char146.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char147.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char147.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char148.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char148.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char149.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char149.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char15.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char150.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char150.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char151.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char151.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char152.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char152.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char153.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char153.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char154.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char154.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char155.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char155.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char156.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char156.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char157.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char157.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char158.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char158.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char159.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char159.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char16.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char160.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char160.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char161.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char161.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char162.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char162.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char163.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char163.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char164.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char164.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char165.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char165.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char166.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char166.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char17.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char18.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char19.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char2.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char20.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char21.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char22.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char23.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char24.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char24.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char25.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char25.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char26.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char26.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char27.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char27.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char28.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char28.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char29.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char29.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char3.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char30.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char30.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char31.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char31.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char32.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char32.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char33.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char33.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char34.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char34.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char35.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char35.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char36.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char36.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char37.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char37.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char38.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char38.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char39.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char39.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char4.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char40.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char40.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char41.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char41.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char42.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char42.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char43.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char43.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char44.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char44.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char45.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char45.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char46.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char46.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char47.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char47.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char48.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char48.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char49.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char49.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char5.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char50.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char50.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char51.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char51.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char52.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char52.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char53.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char53.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char54.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char54.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char55.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char55.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char56.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char56.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char57.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char57.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char58.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char58.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char59.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char59.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char6.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char60.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char60.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char61.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char61.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char62.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char62.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char63.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char63.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char64.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char64.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char65.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char65.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char66.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char66.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char67.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char67.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char68.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char68.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char69.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char69.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char7.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char70.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char70.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char71.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char71.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char72.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char72.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char73.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char73.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char74.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char74.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char75.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char75.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char76.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char76.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char77.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char77.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char78.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char78.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char79.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char79.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char8.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char80.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char80.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char81.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char81.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char82.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char82.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char83.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char83.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char84.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char84.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char85.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char85.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char86.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char86.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char87.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char87.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char88.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char88.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char89.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char89.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char9.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char90.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char90.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char91.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char91.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char92.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char92.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char93.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char93.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char94.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char94.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char95.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char95.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char96.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char96.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char97.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char97.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char98.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char98.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char99.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/char99.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/noisey_OCR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/08- Object Detection using Contour Finder/04- Noisey OCR Characters/noisey_OCR_characters/noisey_OCR.jpg -------------------------------------------------------------------------------- /08- Object Detection using Contour Finder/README.md: -------------------------------------------------------------------------------- 1 | # Some Results 2 | 3 | 4 | - 01Crop_MNIST_numbers : 5 | 6 | Crop all numbers in image and save similar numbers in one path 7 | 8 | ![mnist](https://github.com/n-ebrahimian/object-detection-using-contour_finder/blob/main/01Crop_MNIST_numbers/inputs/mnist.png) 9 | 10 | # 11 | 12 | - 02Chess_pieces : 13 | 14 | Crop chess pieces in image 15 | 16 | # ![Chess_pieces](https://github.com/n-ebrahimian/object-detection-using-contour_finder/blob/main/02chess_pieces/Results/Chess_pieces/1.jpg) 17 | 18 | - 03object-detection-using-contour-finder : 19 | 20 | Count the number of object in the image and Crop all character and save it as a jpg images 21 | 22 | ![penguin3](https://github.com/n-ebrahimian/object-detection-using-contour_finder/blob/main/03object-detection-using-contour-finder/Output/penguin3.jpg) 23 | 24 | # 25 | 26 | - 04noisey_OCR_characters : 27 | 28 | Crop all characters in noisy image 29 | 30 | ![noisey_OCR](https://github.com/n-ebrahimian/object-detection-using-contour_finder/blob/main/04noisey_OCR_characters/Inputs/noisey_OCR.jpg) 31 | 32 | # 33 | 34 | ![noisey_OCR](https://github.com/n-ebrahimian/object-detection-using-contour_finder/blob/main/noisey_OCR_characters/noisey_OCR.jpg) 35 | -------------------------------------------------------------------------------- /09- Color Image Processing/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | # Color-image-processing 5 | 6 | - rubix 7 | 8 | main image 9 | 10 | # ![rubix](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/09-%20Color%20Image%20Processing/inputs/rubix.png) 11 | 12 | result 13 | 14 | # ![rubix](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/09-%20Color%20Image%20Processing/results/rubix.jpg) 15 | 16 | - Microsoft_logo Designing with dynamic shape 17 | 18 | # ![Microsoft](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/09-%20Color%20Image%20Processing/results/Microsoft.jpg) 19 | 20 | - video color detection 21 | 22 | https://user-images.githubusercontent.com/82975802/125969677-1341511d-26ea-41ca-a0bc-e951905974d3.mp4 23 | -------------------------------------------------------------------------------- /09- Color Image Processing/inputs/rubix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/09- Color Image Processing/inputs/rubix.png -------------------------------------------------------------------------------- /09- Color Image Processing/microsoft_logo.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import cv2 3 | 4 | 5 | def get_optimal_font_scale(text, width): 6 | 7 | for scale in reversed(range(0, 60, 1)): 8 | textSize = cv2.getTextSize(text, fontFace=cv2.FONT_HERSHEY_DUPLEX, fontScale=scale/10, thickness=1) 9 | new_width = textSize[0][0] 10 | if (new_width <= width): 11 | return scale/10 12 | return 1 13 | 14 | 15 | sahpe_0 = int(input("Enter Height:")) 16 | sahpe_1 = sahpe_0 * 2 17 | img = np.ones((sahpe_0, sahpe_1, 3), dtype = np.uint8) 18 | 19 | # img = np.ones((300, 600, 3), dtype = np.uint8) 20 | img = img * 60 21 | 22 | b_h = img.shape[0]//3 23 | b_w = img.shape[1]//6 24 | 25 | img[b_h : b_h + ((b_h * 2) // 4) - 2, b_w : b_w + ((b_w * 2) // 4) - 2, 0] = 0 26 | img[b_h : b_h + ((b_h * 2) // 4) - 2, b_w : b_w + ((b_w * 2) // 4) - 2, 1] = 50 27 | img[b_h : b_h + ((b_h * 2) // 4) - 2, b_w : b_w + ((b_w * 2) // 4) - 2, 2] = 255 28 | 29 | img[b_h : b_h + ((b_h * 2) // 4) - 2, b_w + ((b_w * 2) // 4) + 2 : b_w * 2, 0] = 0 30 | img[b_h : b_h + ((b_h * 2) // 4) - 2, b_w + ((b_w * 2) // 4) + 2 : b_w * 2, 1] = 200 31 | img[b_h : b_h + ((b_h * 2) // 4) - 2, b_w + ((b_w * 2) // 4) + 2 : b_w * 2, 2] = 180 32 | 33 | img[b_h + ((b_h * 2) // 4) + 2 : b_h * 2, b_w + ((b_w * 2) // 4) + 2 : b_w * 2, 0] = 0 34 | img[b_h + ((b_h * 2) // 4) + 2 : b_h * 2, b_w + ((b_w * 2) // 4) + 2 : b_w * 2, 1] = 150 35 | img[b_h + ((b_h * 2) // 4) + 2 : b_h * 2, b_w + ((b_w * 2) // 4) + 2 : b_w * 2, 2] = 255 36 | 37 | img[b_h + ((b_h * 2) // 4) + 2 : b_h * 2, b_w : b_w + ((b_w * 2) // 4) - 2, 0] = 255 38 | img[b_h + ((b_h * 2) // 4) + 2 : b_h * 2, b_w : b_w + ((b_w * 2) // 4) - 2, 1] = 150 39 | img[b_h + ((b_h * 2) // 4) + 2 : b_h * 2, b_w : b_w + ((b_w * 2) // 4) - 2, 2] = 0 40 | 41 | font_size = get_optimal_font_scale('Microsoft', 3 *b_w) 42 | cv2.putText(img, 'Microsoft', (((2*b_h ) + (b_h // 4)), (1*b_w + (3*(b_w // 4)))), cv2.FONT_ITALIC, font_size, (255, 255, 255), 5, 43 | cv2.LINE_AA) 44 | 45 | # FONT_HERSHEY_SIMPLEX 46 | # FONT_ITALIC 47 | cv2.imwrite("Microsoft.jpg", img) 48 | cv2.imshow("img", img) 49 | cv2.waitKey() 50 | 51 | 52 | -------------------------------------------------------------------------------- /09- Color Image Processing/results/Microsoft.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/09- Color Image Processing/results/Microsoft.jpg -------------------------------------------------------------------------------- /09- Color Image Processing/results/rubix.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/09- Color Image Processing/results/rubix.jpg -------------------------------------------------------------------------------- /09- Color Image Processing/results/video_color_detection.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/09- Color Image Processing/results/video_color_detection.mp4 -------------------------------------------------------------------------------- /09- Color Image Processing/rubix.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import cv2 3 | 4 | img = cv2.imread("rubix.png") 5 | img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 6 | 7 | hsv = cv2.cvtColor(img,cv2.COLOR_RGB2HSV) 8 | 9 | #---yello 10 | 11 | yello = np.uint8([[[0, 255, 255]]]) 12 | hsvyello = cv2.cvtColor(yello, cv2.COLOR_BGR2HSV) 13 | 14 | lowerLimit = hsvyello[0][0][0] - 10, 100, 100 15 | upperLimit = hsvyello[0][0][0] + 10, 255, 255 16 | 17 | yello_L = np.array(lowerLimit) 18 | yello_U = np.array(upperLimit) 19 | 20 | yello_color = cv2.inRange(hsv, yello_L, yello_U) 21 | yello_pix = np.where(yello_color != 0 ) 22 | 23 | img[yello_pix[0], yello_pix[1], 0] = 0 24 | img[yello_pix[0], yello_pix[1], 1] = 0 25 | img[yello_pix[0], yello_pix[1], 2] = 255 26 | 27 | #----cyan 28 | 29 | cyan = np.uint8([[[255, 255, 0]]]) 30 | hsvcyan = cv2.cvtColor(cyan, cv2.COLOR_BGR2HSV) 31 | 32 | lowerLimit = hsvcyan[0][0][0] - 10, 100, 100 33 | upperLimit = hsvcyan[0][0][0] + 10, 255, 255 34 | 35 | cyan_L = np.array(lowerLimit) 36 | cyan_U = np.array(upperLimit) 37 | 38 | cyan_color = cv2.inRange(hsv, cyan_L, cyan_U) 39 | cyan_pix = np.where(cyan_color != 0) 40 | 41 | img[cyan_pix[0], cyan_pix[1], 0] = 255 42 | img[cyan_pix[0], cyan_pix[1], 1] = 0 43 | img[cyan_pix[0], cyan_pix[1], 2] = 0 44 | 45 | #-----magenta 46 | 47 | magenta = np.uint8([[[255, 0, 255]]]) 48 | hsvmagenta = cv2.cvtColor(magenta, cv2.COLOR_BGR2HSV) 49 | 50 | lowerLimit = hsvmagenta[0][0][0] - 10, 100, 100 51 | upperLimit = hsvmagenta[0][0][0] + 10, 255, 255 52 | 53 | magenta_L = np.array(lowerLimit) 54 | magenta_U = np.array(upperLimit) 55 | 56 | magenta_color = cv2.inRange(hsv, magenta_L, magenta_U) 57 | 58 | pixels = np.count_nonzero(magenta_color) 59 | print(pixels) 60 | 61 | magenta_pix = np.where(magenta_color != 0) 62 | 63 | img[magenta_pix[0], magenta_pix[1], 0] = 0 64 | img[magenta_pix[0], magenta_pix[1], 1] = 255 65 | img[magenta_pix[0], magenta_pix[1], 2] = 0 66 | 67 | img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR) 68 | cv2.imwrite("rubix.jpg", img) 69 | cv2.imshow("rubix", img) 70 | cv2.waitKey() 71 | 72 | -------------------------------------------------------------------------------- /09- Color Image Processing/video_color_detection.py: -------------------------------------------------------------------------------- 1 | import cv2 2 | import numpy as np 3 | 4 | video_cap = cv2.VideoCapture(0) 5 | 6 | height = int(video_cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) 7 | width = int(video_cap.get(cv2.CAP_PROP_FRAME_WIDTH)) 8 | 9 | video_writer = cv2.VideoWriter('video_color_detection.avi', cv2.VideoWriter_fourcc(*'MJPG'), 20, (width, height)) 10 | 11 | def ROI_RGB2HSV(color, hsv_roi): 12 | 13 | hsvcolor = cv2.cvtColor(color, cv2.COLOR_BGR2HSV) 14 | 15 | if color[0][0][0] == 66: 16 | lowerLimit = hsvcolor[0][0][0] - 0, 10, 10 17 | upperLimit = hsvcolor[0][0][0] + 10, 100, 100 18 | elif color[0][0][0] == 0 and color[0][0][1] == 0 and color[0][0][2] == 0: 19 | lowerLimit = hsvcolor[0][0][0] - 0, 0, 0 20 | upperLimit = hsvcolor[0][0][0] + 10, 10, 10 21 | 22 | elif color[0][0][0] == 0 and color[0][0][1] == 0 and color[0][0][2] == 255: 23 | lowerLimit = hsvcolor[0][0][0] - 0, 100, 100 24 | upperLimit = hsvcolor[0][0][0] + 10, 255, 255 25 | 26 | else: 27 | lowerLimit = hsvcolor[0][0][0] - 10, 100, 100 28 | upperLimit = hsvcolor[0][0][0] + 10, 255, 255 29 | 30 | color_L = np.array(lowerLimit) 31 | color_U = np.array(upperLimit) 32 | roi_hsv_color = cv2.inRange(hsv_roi, color_L, color_U) 33 | 34 | return roi_hsv_color 35 | 36 | while True: 37 | 38 | rec, frame = video_cap.read() 39 | if not rec: 40 | break 41 | 42 | width, height, _ = frame.shape 43 | roi = frame[width // 2 - 100 : width // 2 + 100, height // 2 - 100 : height // 2 + 100, :] 44 | hsv_roi = cv2.cvtColor(roi, cv2.COLOR_BGR2HSV) 45 | 46 | color = "None" 47 | font_color = (255, 255, 255) 48 | max_pixels = 0 49 | 50 | # -----blue 51 | rgb_color = np.uint8([[[255, 0, 0]]]) 52 | roi_blue_color = ROI_RGB2HSV(rgb_color, hsv_roi) 53 | pixels = np.count_nonzero(roi_blue_color) 54 | if pixels > max_pixels: 55 | max_pixels = pixels 56 | color = "blue" 57 | font_color = (255, 0, 0) 58 | 59 | # -----green 60 | rgb_color = np.uint8([[[0, 255, 0]]]) 61 | roi_green_color = ROI_RGB2HSV(rgb_color, hsv_roi) 62 | pixels = np.count_nonzero(roi_green_color) 63 | if pixels > max_pixels: 64 | max_pixels = pixels 65 | color = "green" 66 | font_color = (0, 255, 0) 67 | 68 | # -----red 69 | rgb_color = np.uint8([[[0, 0, 255]]]) 70 | roi_red_color = ROI_RGB2HSV(rgb_color, hsv_roi) 71 | pixels = np.count_nonzero(roi_red_color) 72 | if pixels > max_pixels: 73 | max_pixels = pixels 74 | color = "red" 75 | font_color = (0, 0, 255) 76 | 77 | # ---yello 78 | rgb_color = np.uint8([[[0, 255, 255]]]) 79 | roi_yello_color = ROI_RGB2HSV(rgb_color, hsv_roi) 80 | pixels = np.count_nonzero(roi_yello_color) 81 | if pixels > max_pixels: 82 | max_pixels = pixels 83 | color = "yello" 84 | font_color = (0, 255, 255) 85 | 86 | # ----cyan 87 | rgb_color = np.uint8([[[255, 255, 0]]]) 88 | roi_cyan_color = ROI_RGB2HSV(rgb_color, hsv_roi) 89 | pixels = np.count_nonzero(roi_cyan_color) 90 | if pixels > max_pixels: 91 | max_pixels = pixels 92 | color = "cyan" 93 | font_color = (255, 255, 0) 94 | 95 | # -----magenta 96 | rgb_color = np.uint8([[[255, 0, 255]]]) 97 | roi_magenta_color = ROI_RGB2HSV(rgb_color, hsv_roi) 98 | pixels = np.count_nonzero(roi_magenta_color) 99 | if pixels > max_pixels: 100 | max_pixels = pixels 101 | color = "magenta" 102 | font_color = (255, 0, 255) 103 | 104 | # -----gray 105 | rgb_color = np.uint8([[[66, 66, 66]]]) 106 | roi_gray_color = ROI_RGB2HSV(rgb_color, hsv_roi) 107 | pixels = np.count_nonzero(roi_gray_color[:, :]) 108 | if pixels > max_pixels: 109 | max_pixels = pixels 110 | color = "gray" 111 | font_color = (66, 66, 66) 112 | 113 | # -----black 114 | rgb_color = np.uint8([[[0, 0, 0]]]) 115 | roi_black_color = ROI_RGB2HSV(rgb_color, hsv_roi) 116 | pixels = np.count_nonzero(roi_black_color) 117 | if pixels > max_pixels: 118 | max_pixels = pixels 119 | color = "black" 120 | font_color = (0, 0, 0) 121 | 122 | 123 | frame_blur = cv2.blur(frame, (60, 60)) 124 | frame_blur[width // 2 - 100 : width // 2 + 100, height // 2 - 100 : height // 2 + 100, :] = roi 125 | 126 | cv2.putText(frame_blur, color, (width // 12, height // 12), cv2.FONT_HERSHEY_SIMPLEX, 1, font_color, 1, 127 | cv2.LINE_AA) 128 | 129 | cv2.imshow('color', frame_blur) 130 | video_writer.write(frame_blur) 131 | 132 | if cv2.waitKey(10) == ord('q'): 133 | break 134 | elif cv2.waitKey(1) == ord('s'): 135 | cv2.imwrite('Result.jpg', frame_blur) 136 | break 137 | 138 | video_cap.release() 139 | video_writer.release() -------------------------------------------------------------------------------- /10-1- QrCodeReaderOpencv-video.py: -------------------------------------------------------------------------------- 1 | import cv2 2 | import numpy as np 3 | 4 | video_cap = cv2.VideoCapture(0) 5 | height = int(video_cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) 6 | width = int(video_cap.get(cv2.CAP_PROP_FRAME_WIDTH)) 7 | video_writer = cv2.VideoWriter('QrCode-Reader-opencv1.avi', cv2.VideoWriter_fourcc(*'MJPG'), 10, (width, height)) 8 | 9 | def QrCode_Reader(frame): 10 | detector = cv2.QRCodeDetector() 11 | data, bbox, straight_qrcode = detector.detectAndDecode(frame) 12 | if bbox is not None: 13 | 14 | n_lines = len(bbox) 15 | for i in range(n_lines): 16 | coordinates = np.asarray(bbox[i], dtype='int') 17 | 18 | cv2.rectangle(frame, (coordinates[0][0], coordinates[0][1]), (coordinates[2][0], coordinates[2][1]), 19 | color=(255, 255, 0), thickness=3) 20 | 21 | return frame, data 22 | 23 | while True: 24 | 25 | rec, frame = video_cap.read() 26 | if not rec: 27 | break 28 | 29 | width, height, _ = frame.shape 30 | roi = frame[width // 2 - 100 : width // 2 + 100, height // 2 - 100 : height // 2 + 100, :] 31 | frame, data = QrCode_Reader(frame) 32 | 33 | frame_blur = cv2.blur(frame, (60, 60)) 34 | frame_blur[width // 2 - 100 : width // 2 + 100, height // 2 - 100 : height // 2 + 100, :] = roi 35 | 36 | cv2.putText(frame_blur, data, (width // 6, height // 6), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 1, 37 | cv2.LINE_AA) 38 | 39 | cv2.imshow('QrCode-Reader', frame_blur) 40 | video_writer.write(frame_blur) 41 | 42 | if cv2.waitKey(10) == ord('q'): 43 | break 44 | elif cv2.waitKey(1) == ord('s'): 45 | cv2.imwrite('QrCode-Reader.jpg', frame_blur) 46 | break 47 | 48 | video_cap.release() 49 | video_writer.release() -------------------------------------------------------------------------------- /11- color_detection.py: -------------------------------------------------------------------------------- 1 | import cv2 2 | import numpy as np 3 | 4 | video_cap = cv2.VideoCapture(0) 5 | 6 | height = int(video_cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) 7 | width = int(video_cap.get(cv2.CAP_PROP_FRAME_WIDTH)) 8 | 9 | video_writer = cv2.VideoWriter('color_detection.avi', cv2.VideoWriter_fourcc(*'MJPG'), 20, (width, height), 0) 10 | 11 | while True: 12 | 13 | rec, frame = video_cap.read() 14 | if not rec: 15 | break 16 | 17 | gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 18 | width, height = gray_frame.shape 19 | roi = gray_frame[width // 2 - 100 : width // 2 + 100, height // 2 - 100 : height // 2 + 100] 20 | 21 | color_average = np.average(roi) 22 | if color_average < 80 : 23 | color = "Black" 24 | font_color = (0, 0, 0) 25 | 26 | elif color_average < 160: 27 | color = "Gray" 28 | font_color = (60, 60, 60) 29 | 30 | else: 31 | color = "White" 32 | font_color = (150, 150, 150) 33 | 34 | frame_blur = cv2.blur(gray_frame, (60, 60)) 35 | frame_blur[width // 2 - 100 : width // 2 + 100, height // 2 - 100 : height // 2 + 100] = roi 36 | 37 | cv2.putText(frame_blur, color, (width // 12, height // 12), cv2.FONT_HERSHEY_SIMPLEX, 1, font_color, 1, 38 | cv2.LINE_AA) 39 | 40 | cv2.imshow('color', frame_blur) 41 | video_writer.write(frame_blur) 42 | 43 | if cv2.waitKey(10) == ord('q'): 44 | break 45 | elif cv2.waitKey(1) == ord('s'): 46 | cv2.imwrite('Result.jpg', frame_blur) 47 | break 48 | 49 | video_cap.release() 50 | video_writer.release() -------------------------------------------------------------------------------- /12- ColorDetection_ContrastEnhancement.py: -------------------------------------------------------------------------------- 1 | import cv2 2 | import numpy as np 3 | 4 | video_cap = cv2.VideoCapture(0) 5 | 6 | height = int(video_cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) 7 | width = int(video_cap.get(cv2.CAP_PROP_FRAME_WIDTH)) 8 | 9 | video_writer = cv2.VideoWriter('ColorDetection_ContrastEnhancement.avi', cv2.VideoWriter_fourcc(*'MJPG'), 20, (width, height), 0) 10 | 11 | while True: 12 | 13 | rec, frame = video_cap.read() 14 | if not rec: 15 | break 16 | 17 | gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 18 | width, height = gray_frame.shape 19 | 20 | alpha = 3 21 | beta = 0 22 | gray_frame = cv2.convertScaleAbs(gray_frame, alpha=alpha, beta=beta) 23 | 24 | roi = gray_frame[width // 2 - 100 : width // 2 + 100, height // 2 - 100 : height // 2 + 100] 25 | 26 | color_average = np.average(roi) 27 | if color_average < 80 : 28 | color = "Black" 29 | font_color = (0, 0, 0) 30 | 31 | elif color_average < 160: 32 | color = "Gray" 33 | font_color = (60, 60, 60) 34 | 35 | else: 36 | color = "White" 37 | font_color = (150, 150, 150) 38 | 39 | frame_blur = cv2.blur(gray_frame, (60, 60)) 40 | frame_blur[width // 2 - 100 : width // 2 + 100, height // 2 - 100 : height // 2 + 100] = roi 41 | 42 | cv2.putText(frame_blur, color, (width // 12, height // 12), cv2.FONT_HERSHEY_SIMPLEX, 1, font_color, 1, 43 | cv2.LINE_AA) 44 | 45 | cv2.imshow('color', frame_blur) 46 | video_writer.write(frame_blur) 47 | 48 | if cv2.waitKey(10) == ord('q'): 49 | break 50 | elif cv2.waitKey(1) == ord('s'): 51 | cv2.imwrite('Result.jpg', frame_blur) 52 | break 53 | 54 | video_cap.release() 55 | video_writer.release() -------------------------------------------------------------------------------- /13- Snow Gif/README.md: -------------------------------------------------------------------------------- 1 | ![snow](https://user-images.githubusercontent.com/82975802/144880807-a6c2bf67-7456-4d6f-8066-ce5a081ffca9.gif) 2 | -------------------------------------------------------------------------------- /13- Snow Gif/snow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/13- Snow Gif/snow.gif -------------------------------------------------------------------------------- /13- Snow Gif/snow3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/13- Snow Gif/snow3.jpg -------------------------------------------------------------------------------- /13- Snow Gif/snow_gif.py: -------------------------------------------------------------------------------- 1 | import cv2 2 | import numpy as np 3 | import imageio 4 | 5 | 6 | def img_read(): 7 | 8 | img = cv2.imread("snow3.jpg") 9 | img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 10 | img = cv2.resize(img, (500, 500)) 11 | return img 12 | 13 | img = img_read() 14 | width, height, _ = img.shape 15 | 16 | snow_list = [] 17 | num_snow = 1000 18 | for i in range(num_snow): 19 | y_position = np.random.randint(0, height) 20 | x_position = np.random.randint(0, width) 21 | snow_speed = np.random.randint(3, 7) 22 | snow_size = np.random.randint(1, 3) 23 | change_x = np.random.randint(-2, 2) 24 | 25 | snow_list.append([y_position, x_position, snow_speed, snow_size, change_x]) 26 | 27 | 28 | snow_img = [] 29 | for j in range(50): 30 | 31 | img = img_read() 32 | 33 | for i in range(num_snow): 34 | if snow_list[i][0] > 490: 35 | snow_list[i][0] = 0 36 | 37 | snow_size = snow_list[i][3] 38 | snow_speed = snow_list[i][2] 39 | change_x = snow_list[i][4] 40 | 41 | img[snow_list[i][0]: snow_list[i][0]+snow_size, snow_list[i][1]: snow_list[i][1]+snow_size, :] = 255 42 | 43 | snow_list[i][0] = snow_list[i][0] + snow_speed 44 | snow_list[i][1] = snow_list[i][1] + change_x 45 | 46 | snow_img.append(img) 47 | 48 | with imageio.get_writer(("snow.gif"), mode="I") as writer: 49 | for idx, img in enumerate(snow_img): 50 | writer.append_data(img) -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Image Processing using OpenCV 2 | 3 | # 01- Pre processing Techniques 01 4 | 5 | - Rotate of image 6 | 7 | - Designing chess board 8 | 9 | - Change image color 10 | 11 | # 12 | 13 | # 02- Pre Processing Techniques 02 14 | 15 | - Sudoku 16 | 17 | remove the extra white border around the table 18 | 19 | Then crop the non empty cells and save them as a separate image 20 | 21 | # ![block_whit_number](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/02-%20Pre%20Processing%20Techniques%2002/Result/block_whit_number.jpg) 22 | 23 | - Image Contrast Enhancement 24 | 25 | # 26 | 27 | # 03- Mathematical Operations on Image 28 | 29 | - multiplication, add, Division and Submission, To find the difference between the two images, averaging and noise elimination in several image 30 | 31 | # 32 | 33 | # 04- Image Filtering 34 | 35 | - average filter and edge finder filter 36 | 37 | Original image 38 | 39 | # ![lion](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/04-%20Image%20Filtering/Inputs/lion.png) 40 | 41 | After applying filter 42 | 43 | # ![lion](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/04-%20Image%20Filtering/Result/lion.jpg) 44 | 45 | # 05- Salt and Pepper Noise 46 | 47 | - original image 48 | 49 | # ![mr_bean](https://github.com/n-ebrahimian/salt_and_pepper_noise/blob/main/inputs/mr_bean.jpeg) 50 | 51 | - Adding salt and pepper noise to the image 52 | 53 | # ![salt_and_pepper_mr_bean](https://github.com/n-ebrahimian/salt_and_pepper_noise/blob/main/Result/salt_and_pepper_mr_bean.jpg) 54 | 55 | # 06- Encrypt and Decrypt Image 56 | 57 | - Main image 58 | 59 | # ![01](https://github.com/n-ebrahimian/Encrypt-and-Decrypt-Image/blob/main/input/01.jpg) 60 | 61 | - Encrypted image using created key 62 | 63 | # ![encrypted_img](https://raw.githubusercontent.com/n-ebrahimian/Encrypt-and-Decrypt-Image/main/output/encrypted_img.bmp) 64 | 65 | - Decrypted image 66 | 67 | # ![decrypted_img](https://github.com/n-ebrahimian/Encrypt-and-Decrypt-Image/blob/main/output/decrypted_img.jpg) 68 | 69 | # 07- Removal Noise and Blurred Backg 70 | 71 | - Removal Noise on image and Blurred Background 72 | 73 | # 08- Object Detection using Contour Finder 74 | 75 | - Crop_MNIST_numbers 76 | 77 | Crop all numbers in image and save similar numbers in one path 78 | 79 | - Chess_pieces 80 | 81 | Crop chess pieces in image 82 | 83 | - Count the number of object in the image and Crop all character and save it as a jpg images 84 | 85 | ![penguin3](https://github.com/n-ebrahimian/object-detection-using-contour_finder/blob/main/03object-detection-using-contour-finder/Output/penguin3.jpg) 86 | 87 | # 88 | 89 | - noisey_OCR_characters : 90 | 91 | Crop all characters in noisy image 92 | 93 | ![noisey_OCR](https://github.com/n-ebrahimian/object-detection-using-contour_finder/blob/main/04noisey_OCR_characters/Inputs/noisey_OCR.jpg) 94 | 95 | # 96 | 97 | ![noisey_OCR](https://github.com/n-ebrahimian/object-detection-using-contour_finder/blob/main/noisey_OCR_characters/noisey_OCR.jpg) 98 | 99 | # 100 | 101 | # 09- Color Image Processing 102 | 103 | - Video color detection, change image color using hsv-color space 104 | 105 | - rubix 106 | 107 | main image 108 | 109 | # ![rubix](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/09-%20Color%20Image%20Processing/inputs/rubix.png) 110 | 111 | result 112 | 113 | # ![rubix](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/09-%20Color%20Image%20Processing/results/rubix.jpg) 114 | 115 | - Microsoft_logo Designing with dynamic shape 116 | 117 | # ![Microsoft](https://github.com/NahidEbrahimian/Image-Processing-using-OpenCV/blob/main/09-%20Color%20Image%20Processing/results/Microsoft.jpg) 118 | 119 | - video color detection 120 | 121 | https://user-images.githubusercontent.com/82975802/125969677-1341511d-26ea-41ca-a0bc-e951905974d3.mp4 122 | 123 | # 124 | 125 | # 10- QrCodeReaderOpencv-video 126 | 127 | https://user-images.githubusercontent.com/82975802/129938760-fcab3243-d2ab-48a7-a39e-3d6c487ab9c7.mp4 128 | 129 | 130 | # 131 | 132 | # 11- color_detection 133 | 134 | 135 | https://user-images.githubusercontent.com/82975802/144500791-4eab633e-5a47-4131-a020-8f4391471486.mp4 136 | 137 | 138 | # 12- ColorDetection_ContrastEnhancement 139 | 140 | 141 | https://user-images.githubusercontent.com/82975802/144500848-11232bc5-9c2c-4d07-b0d9-789cc48a13b6.mp4 142 | 143 | # 144 | 145 | # 13- Snow Gif 146 | 147 | ![snow](https://user-images.githubusercontent.com/82975802/144880807-a6c2bf67-7456-4d6f-8066-ce5a081ffca9.gif) 148 | 149 | -------------------------------------------------------------------------------- /color_detection_output/ColorDetection_ContrastEnhancement.avi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/color_detection_output/ColorDetection_ContrastEnhancement.avi -------------------------------------------------------------------------------- /color_detection_output/color_detection.avi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NahidEbrahimian/Image-Processing-OpenCV/79e6287cf8692812cc3312b17e62ba95584ea1ca/color_detection_output/color_detection.avi --------------------------------------------------------------------------------