/computer-vision-works

Works at Computer vision course. 1) Panorama 2) Cartoonize 3) Camera calibration

Primary LanguagePython

Computer-Vision-works

This repository is created for archieving works from computer vision works.
It composes to panorama-making, cartoonize, camera-calibration and pose-estimation.

Panorama_cv

This is a program for making panorama image using opencv.
Stitcher combine multiple images to single seamless panorama image.
The steps are following:

  1. Extract feature from all images
  2. Select m candidate matching images that have the most feature matches to one image
  3. Find geometrically consistent feature matches to solve for the homography between pairs of images.
  4. Find connected components of image matches.
  5. Perform transformation.

  • Run

    python panorama_cv.py IMAGEPATH1 IMAGEPATH2 ... 
  • Results

Input

Output

cartoonize_cv

Program to cartoonize real photo.
For catoonzie, we use 1) constrast stretching and 2) k-means clustering.

  1. increase the contrast of image.

2) clustering the color of image into K groups. This code defined the K to 5.


  • Run

    python photo_to_cartoon.py INPUTIMAGE
  • Results

Input

Output

ChatGPT

it combines edge and blurred image.

Camera-calibration-on-A_cv

The program that calibrate chessboard video and put A on chessboard.

Input
input1 input2

Output
result1result2

  • Run
    python camera_calibration_on_A.py VIDEOPATH

If you change the shooting direction of video, the position of A change, too.

After performing the simple AR, omits the calibration results.

Camera Calibration Results (example)

  • RMS error = 0.3674050821064493
  • Camera matrix (K) = [[1.64016431e+03 0.00000000e+00 5.70771387e+02] [0.00000000e+00 1.64380630e+03 9.91567459e+02] [0.00000000e+00 0.00000000e+00 1.00000000e+00]]
    (focal length = 1.64e+03, principal point x = 5.70771387e+02, principal point y = 9.91567459e+02)
  • Distortion coefficient (k1, k2, p1, p2, k3, ...) = [ 0.2012792 -1.13786191 0.00828182 0.00496422 2.28385296]