This is the source code that summarizes the codes that I have gathered while attending Professor Sungho Kim's class (Yeungnam University, computer vision class) and my personal studies.
1. Install OpenCV
2. Camera Distortion
3. Color Space
4. Image Filtering
5. Edge
6. Corner and Blob detector
7. Fitting
8. Calibration
9. Stereo Matching and Rendering
10. Face and body detection
- I installed OpenCV version(2.4.13.6)
- Environment variables: C:\opencv24136\build\x86\vc14\bin;
- VS Setting
- Include Directories
- C:\OpenCV24136\build\Include
- Library Directories
- C:\opencv24136\build\x86\vc14\lib
- Additional Dependencies
- opencv_calib3d2413d.lib; opencv_contrib2413d.lib; opencv_core2413d.lib; opencv_features2d2413d.lib; opencv_flann2413d.lib; opencv_gpu2413d.lib; opencv_highgui2413d.lib; opencv_imgproc2413d.lib; opencv_legacy2413d.lib; opencv_ml2413d.lib; opencv_nonfree2413d.lib; opencv_objdetect2413d.lib; opencv_ocl2413d.lib; opencv_photo2413d.lib; opencv_stitching2413d.lib; opencv_superres2413d.lib; opencv_ts2413d.lib; opencv_video2413d.lib; opencv_videostab2413d.lib;
- Include Directories
- Result
INPUT | OUTPUT |
---|---|
- Result
INPUT | OUTPUT(Blue) | OUTPUT(Green) | OUTPUT(Red) |
---|---|---|---|
- Another result
INPUT | OUTPUT(Blue) | OUTPUT(Green) | OUTPUT(Red) |
---|---|---|---|
- Input color
INPUT | OUTPUT(Blue) | OUTPUT(Green) | OUTPUT(Red) |
---|---|---|---|
- Builtin function vs Implementation (RGB to Gray)
INPUT | OUTPUT(Builtin) | OUTPUT(Implementation) |
---|---|---|
- Builtin function vs Implementation (RGB to HSI)
INPUT | OUTPUT(Builtin-HSV) | OUTPUT(Implementation-HSI) |
---|---|---|
- HSI(Hue, Saturation, Intensity) of Implementation
Hue | Saturation | Intensity |
---|---|---|
- Builtin function vs Implementation (RGB to HSV)
INPUT | OUTPUT(Builtin-HSV) | OUTPUT(Implementation-HSV) |
---|---|---|
- HSV(Hue, Saturation, Value) of Implementation
Hue | Saturation | Value |
---|---|---|
- Blur Result(Smoothed Image)
INPUT | OUTPUT(Kernel 1X1) | OUTPUT(Kernel 3X3) | OUTPUT(Kernel 5X5) |
---|---|---|---|
OUTPUT(Kernel 11X11) | OUTPUT(Kernel 19X19) | OUTPUT(Kernel 25X25) | OUTPUT(Kernel 29X29) |
- Salt & Pepper Result(Filtered Image Median vs Gaussian)
- Salt & Pepper Result(Filtered Image Sigma of Gaussian)
OUTPUT(sigmaX, sigmaY = 1) | OUTPUT(sigmaX, sigmaY = 3) | OUTPUT(sigmaX, sigmaY = 5) |
---|---|---|
- Gaussian Noised Result(Filtered Image Median vs Gaussian)
Gaussian Noise | Gaussian Kernel example |
---|---|
OUTPUT(Median Filtered 1X1) | OUTPUT(Gaussian Filtered 1X1) |
- Gaussian Noised Result(Filtered Image Sigma of Gaussian)
OUTPUT(sigmaX, sigmaY = 1) | OUTPUT(sigmaX, sigmaY = 3) | OUTPUT(sigmaX, sigmaY = 5) |
---|---|---|
- Canny edge
INPUT | OUTPUT |
---|---|
- Canny edge another Result
INPUT | OUTPUT(Min Threshold0) |
---|---|
OUTPUT(Min Threshold25) | OUTPUT(Min Threshold50) |
OUTPUT(Min Threshold75) | OUTPUT(Min Threshold100) |
- Sobel edge
X direction | Y direction |
---|---|
Magnitude(X+Y) | Direction(X,Y) |
- Harris Corner Detector
- Threshold LOW = Detected Corners MANY
INPUT | OUTPUT |
---|---|
- SIFT(blob) detector
INPUT | OUTPUT |
---|---|
- find "good" matches
- ex. (Method) LMEDS
INPUT | OUTPUT(Object) |
---|---|
INPUT | OUTPUT(Scene) |
---|---|
OUTPUT(Good matches & Object detection) |
---|
- Homography Estimation
- Method(0, RANSAC, LMEDS) of fineHomography function
0(object) | RANSAC(object) | LMEDS(object) |
---|---|---|
0(Scene) | RANSAC(Scene) | LMEDS(Scene) |
---|---|---|
0(Good matches & Object detection) | RANSAC(Good matches & Object detection) | LMEDS(Good matches & Object detection) |
---|---|---|
- Pring Checkerboard
- Using CamCalibrator tool of Darkpgmr
- Check Calibrate and Calculate focal length of your camera
- Block matching based Disparity
INPUT(Left) | INPUT(Right) |
---|---|
OUTPUT(Support 5) | OUTPUT(Support 7) |
OUTPUT(Support 9) | OUTPUT(Support 11) |
OUTPUT(Support 15) | OUTPUT(Support 17) |
OUTPUT(Support 19) | OUTPUT(Support 21) |
- 3D Rendering OUTPUT
x,y,z | Depth Image | Result |
---|---|---|
0,0,140 | ||
56,0,140 | ||
-42,0,140 | ||
0,0,0 |
- Texture mapping on the 3D shape
- Using OpenGL
INPUT | OUTPUT(No move) |
---|---|
OUTPUT(move) | OUTPUT(inner) |
INPUT | OUTPUT |
---|---|
searching at google, matlab, nanhee kim's and sungho kim class
colorful stock
corni_fructus
earth
colorful star: searching at google
Rhone River(Vincent Van Gogh): searching at google
Lemona, myimg(nanhee kim): nanhee kim
others(prof.sungho kim class): matlab and prof.sungho kim
Nanhee Kim / @nh9k