8/30/2011

Make Fibonacci sequence function. / ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด ํ•จ์ˆ˜ ๋งŒ๋“ค๊ธฐ

Below condition is Fibonacci sequence.


Fibonacci sequence start from 0, 1 and then next number is sum of previous two Fibonacci value.
ex) 011235813213455891442333776109871597, 2584, 4181, 6765, 10946...

Make Fibonacci function~
ex) F(0) = 0, F(1)=1, F(7)=13

----------------------------------------------------

ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋Š” 0๊ณผ 1๋กœ ์‹œ์ž‘ํ•˜๋ฉฐ, ๋‹ค์Œ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋Š” ๋ฐ”๋กœ ์•ž์˜ ๋‘ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์˜ ํ•ฉ์ด ๋œ๋‹ค. 
ex) 011235813213455891442333776109871597, 2584, 4181, 6765, 10946...
ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด๋ผ
ex) F(0) = 0, F(1)=1, F(7)=13

OpenCV Function Test - (cvCanny, cvGoodFeaturesToTrack) / C++ source

Created Date : 2008.11
Language : C++
Tool : Visual C++ 6.0
Library & Utilized : OpenCV 1.0
Reference :  Learning OpenCV Book
etc. : -




This code is to test OpenCV functions those are cvCanny, cvGoodFeaturesToTrack.
It is simple and easy. But the method of function use is easy to forget in long time past. And It is useful to OpenCV Beginner.

You can download source <here>

If you have good idea or advanced opinion, please reply me. Thank you
(Please understand my bad english ability. If you point out my mistake, I would correct pleasurably. Thank you!!)------------------------------------------------------------

OpenCV ์— ์žˆ๋Š” cvCanny, cvGoodFeaturesToTrack ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ์†Œ์Šค์ž…๋‹ˆ๋‹ค.
๊ฒฐ๊ณผ๋Š” ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์ด ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋Š” ๋ถ„ ์ฐธ๊ณ ํ•˜์‹œ๋ฉด ๋น ๋ฅด๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ์„๊ฑฐ๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. <here>




์ข‹์€ ์˜๊ฒฌ ์–ด๋–ค ๊ธ€์ด๋“  ๋‹ต๋ณ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.


8/29/2011

Hough Transform (Line, Circle) / C++ source (OpenCV) / ํ—ˆํ”„๋ณ€ํ™˜(์„ , ์›)


Created Date : 2007.7
Language : C++
Tool : Visual C++ 6.0
Library & Utilized : OpenCV 1.0(for image saving)
Reference :  Hough Transform reference
etc. : -






This is Hough Transform program.
We can progress two type Hough Transform. One is Line Hough Transform, Second is Circle Hough Transform.
After processing, Hough Transform result, Edge Image and Parameter Space(txt) files save in your directory.

You can download source code <here>.

If you have good idea or advanced opinion, please reply me. Thank you
(Please understand my bad english ability. If you point out my mistake, I would correct pleasurably. Thank you!!)
-------------------------------------------------------------------------------

▣ ํ—ˆํ”„๋ณ€ํ™˜ ํ”„๋กœ๊ทธ๋žจ ๊ฒฐ๊ณผ
<์‹คํ—˜ 1>
1. ์ž…๋ ฅ ๋ฐ์ดํ„ฐ
2. ์—์ง€ ์˜์ƒ
3. Line ๊ฒ€์ถœ ๊ฒฐ๊ณผ
4. Parameter Space voting ์˜์ƒ

▣ ์†Œ์Šค ์ฝ”๋“œ ์„ค๋ช…
1. Line ๊ฒ€์ถœ
①voting ๋ถ€๋ถ„
theta๋ฅผ 0~180๊นŒ์ง€ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ rho๋ฅผ ๊ตฌํ•˜๊ณ  ๊ทธ ๊ฐ’์„ [theta][rho]์˜ 2์ฐจ์› ๋ฐฐ์—ด์— Votingํ•œ๋‹ค.

②Sorting ๋ถ€๋ถ„
voting๋œ Parameter๋ฅผ ์ •๋ ฌํ•œ๋‹ค. ์ •๋ ฌ์€ STL์„ ์‚ฌ์šฉํ•จ.

③Line ๊ทธ๋ฆฌ๋Š” ๋ถ€๋ถ„
์ •๋ ฌ๋œ theta์™€ rho๊ฐ’์„ ์ด์šฉํ•˜์—ฌ ์ง์„ ์˜ ๋ฐฉ์ •์‹์˜ ๊ธฐ์šธ๊ธฐ์™€ ์ ˆํŽธ์„ ๊ตฌํ•˜๊ณ  OpenCV์— Line Drawํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ผ์ธ์„ ๊ทธ๋ฆฐ๋‹ค. ๊ทธ๋ ค์ง„ ๋ผ์ธ์€ OpenCV์˜ IplImage์— ์ €์žฅ๋œ๋‹ค.
๋ผ์ธ์„ ๊ทธ๋ฆด ๋•Œ๋Š” voting์ด ๊ฐ€์žฅ ๋งŽ์ด ๋œ ๊ฒƒ์˜ ์„ ์ƒ‰์„ 255, ๊ฐ€์žฅ voting์ด ์•ˆ๋œ ๊ฒƒ์˜ ์„  ์ƒ‰์„ 0์œผ๋กœ, Voting๋œ ๊ฒƒ์˜ ์ •๋„๋ฅผ ์ƒ‰์œผ๋กœ ๋‚˜ํƒ€๋‚ด์—ˆ๋‹ค.

2. Circle ๊ฒ€์ถœ
①voting ๋ถ€๋ถ„
๋ฐ˜์ง€๋ฆ„์„ <10>์—์„œ <์ด๋ฏธ์ง€ ๋Œ€๊ฐ๋ฐฉํ–ฅ์˜ ํ”ฝ์…€ ๊ธธ์ด ๋นผ๊ธฐ 10>๊นŒ์ง€ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ theta๋ฅผ 0~360๊นŒ์ง€ ์ฆ๊ฐ€์‹œํ‚ค๋ฉฐ, ์›์˜ ์ค‘์‹ฌ ์œ„์น˜ Cx, Cy์— ๋Œ€ํ•˜์—ฌ voting์„ ํ•œ๋‹ค. voting๋œ ๊ฒฐ๊ณผ๋Š” ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” Vector์— ์ €์žฅ๋œ๋‹ค.

②Sorting ๋ถ€๋ถ„
์˜ ์ •๋ณด๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” Vector์—์„œ Voring ๊ฐ’์œผ๋กœ ์ •๋ ฌ์„ ํ•œ๋‹ค.

③Circle ๊ทธ๋ฆฌ๋Š” ๋ถ€๋ถ„
์ •๋ ฌ๋œ ์›์ค‘์—์„œ ์ƒ์œ„ 1%๋งŒ ๋“œ๋กœ์ž‰ํ•œ๋‹ค.
๋“œ๋กœ์ž‰ํ•  ๋•Œ๋Š” ๋ผ์ธ์„ ๊ทธ๋ฆด๋•Œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ œ์ผ ๋งŽ์ด voting๋œ ๊ฒƒ์„ 255์ƒ‰, ์ œ์ผ ์ ๊ฒŒ voting๋œ๊ฒƒ์„ 0์ƒ‰์œผ๋กœ ๊ทธ๋ ค์„œ voting์ •๋„๋ฅผ ํ‘œ์‹œํ•œ๋‹ค.

▣ ์ธํ„ฐํŽ˜์ด์Šค ์„ค๋ช…
์‹คํ–‰ ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜์—ฌ ํŒŒ์ผ๋ช…์„ ์ž…๋ ฅํ•˜๊ณ , Line์„ ๊ฒ€์ถœํ•˜๋ ค๋ฉด 1์„ ์ž…๋ ฅ Circle์„ ๊ฒ€์ถœํ•˜๋ ค๋ฉด 2๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.
๊ฒ€์ถœ์ด ๋๋‚˜๋ฉด ์‹คํ–‰ ์‹œ๊ฐ„์ด ๋‚˜์˜จ๋‹ค.


์ „์ฒด ์†Œ์†Œ๋Š” ์—ฌ๊ธฐ์„œ ๋‹ค์šด ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. <here>

์ข‹์€ ์˜๊ฒฌ ์–ด๋–ค ๊ธ€์ด๋“  ๋‹ต๋ณ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.





OpenGL Test - Lighting Position, Ambient, Diffuse, Specular, Shineness (Sphere, Cone, Tetrahedron, Teapot) - C++(MFC) Source / OpenGL์„ ์ด์šฉํ•œ ๊ด‘์›์˜ ์œ„์น˜์™€ ์ฃผ๋ณ€๊ด‘, ํ™•์‚ฐ๊ด‘, ๋ฐ˜์‚ฌ๊ด‘, ๋ฌผ์ฒด์˜ ์žฌ์งˆ ํ…Œ์ŠคํŠธ

Created Date : 2006.10
Language : C++(MFC)
Tool : Visual C++ 6.0
Library & Utilized : OpenGL
Reference :  OpenGL reference
etc. : -

This program is made for testing OpenGL properties.
The code test Light Position, Ambient, Diffuse, Specular and Surface Roughness.
I have made the program form view style interface.
We can adjust values by slide bar.
You can download entitle source code. < Here >


If you have good idea or advanced opinion, please reply me. Thank you
(Please understand my bad english ability. If you point out my mistake, I would correct pleasurably. Thank you!!)
Lighting Position Test

Ambient, Diffuse, Specular, Shininess Test

-------------------------------------------------------

OpenGL์„ ์ด์šฉํ•˜์—ฌ ๊ด‘์›์˜ ์œ„์น˜์™€ ์ฃผ๋ณ€๊ด‘, ํ™•์‚ฐ๊ด‘, ๋ฐ˜์‚ฌ๊ด‘, ๋ฌผ์ฒด์˜ ์žฌ์งˆ์„ ํ…Œ์ŠคํŠธ ํ•ด ๋ณผ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.
์ „์ฒด ์†Œ์†Œ๋Š” ์—ฌ๊ธฐ์„œ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ข‹์€ ์˜๊ฒฌ ์–ด๋–ค ๊ธ€์ด๋“  ๋‹ต๋ณ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

f(N) counts number of '1'. For example f(13) = 6. So f(1)=1. What next number do satisfy the rule?



f(N) counts number of '1'. For example f(13) = 6. So f(1)=1. What next number do satisfy the rule?


---------------------------------------------------


์–‘์ˆ˜ n์— ๋Œ€ํ•ด์„œ 1๊ณผ n ์‚ฌ์ด์— 1์ด ๋‚˜์˜ค๋Š” ํšŸ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํ•จ์ˆ˜๋ฅผ f(n)์ด๋ผ๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด f(13)=6์ด๋‹ค. f(n)=n์ด ๋˜๋Š” ์ฒซ๋ฒˆ์งธ ์–‘์ˆ˜๋Š” 1์ด๋‹ค. ๋‘๋ฒˆ์งธ ์–‘์ˆ˜๋Š” ๋ฌด์—‡์ธ๊ฐ€?


8/25/2011

Shape from Shading Matlab and C++(MFC) source

Created Date : 2007.8
Language : Matlab / C++(MFC)
Tool : Matlab / Visual C++ 6.0
Library & Utilized : - / OpenGL
Reference :  Shape from Shading, Photometric Stereo reference
etc. : -

Shading Source Images

Depth Image                            Normal Vector

Shading Source Images

Depth Image                            Normal Vector


Shading Source Images

Depth Image                            Normal Vector


This program make 3D shape using several different source of light.
The result is normal vector figure and 3D depth image.
This method is alternatively called as Photometric stereo.


You can download entire source code.
here -> https://github.com/MareArts/ShapeFromShading




If you have good idea or advanced opinion, please reply me. Thank you
(Please understand my bad english ability. If you point out my mistake, I would correct pleasurably. Thank you!!)



---------------------------------------------------------------------------

6๊ฐœ์˜ ๊ด‘์›๊ณผ ๋ชจ๋ธ์„ ์ด์šฉํ•˜์—ฌ 3D ํ˜•์ƒ์œผ๋กœ ๋ณต์›ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ
3D ํ˜•์ƒ์€ ๊ฐ ํ”ฝ์…€์˜ depth์™€ normal ๋ฐฉํ–ฅ์„ ๊ณ„์‚ฐํ•˜์—ฌ ๋“œ๋กœ์ž‰ํ•œ๋‹ค.
Photometric stereo ๊ธฐ๋ฒ• ์ด๋ผ๊ณ ๋„ ํ•จ.

์—ฌ๊ธฐ์„œ ์ „์ฒด ์†Œ์Šค๋ฅผ ๋‹ค์šด ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. <Matlab> < C++(MFC) >


์ข‹์€ ์˜๊ฒฌ ์–ด๋–ค ๊ธ€์ด๋“  ๋‹ต๋ณ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

8/24/2011

Canny Edge C++ source / ์บ๋‹ˆ ์—์ง€ ํ”„๋กœ๊ทธ๋žจ ์†Œ์Šค

Created Date : 2007.9
Language : C++
Tool : Visual Studio C++ 6.0
Library & Utilized : -
Reference :  Canny Edge's Paper and Reference tutorial
etc. : -







1. Input
First, enter the file name of bmp format.
And input parameters. (sigma value, Hysteresis low, high value. Default values are 1.0, 20, 80 respectively).

2. Results
3 files saved in your folder that direction is same with exe file location.
Origin Image

One is differential of Gaussian image and the others are NonMax Supression and Hysteresis image.

You can download entire source code.
< source code >




If you have good idea or advanced opinion, please reply me. Thank you
(Please understand my bad english ability. If you point out my mistake, I would correct pleasurably. Thank you!!)------------------------------------------------------

1. DOG ๋ถ€๋ถ„
๋งˆ์Šคํฌ๋ฅผ ๋งŒ๋“ ๋‹ค.
๋งˆ์Šคํฌ๋ฅผ ์ด๋ฏธ์ง€์— ํšŒ์„ ํ•˜๋ฉด์„œ ์ปจ๋ณผ๋ฃจ์…˜ํ•œ๋‹ค. ํ•œ๋ฒˆ ํšŒ์„ ํ•  ๋•Œ ๊ฐ€๋กœ, ์„ธ๋กœ์— ๋Œ€ํ•˜์—ฌ ๋ชจ๋‘ ์—ฐ์‚ฐํ•จ 2. NonMax Supression ๋ถ€๋ถ„
์—์ง€์˜ ๋ฐฉํ–ฅ์˜ ๋…ธ๋ง๋ฐฉํ–ฅ์— ๋Œ€ํ•˜์—ฌ ์ขŒ์šฐ ํ”ฝ์…€์˜ ๋ฐ๊ธฐ๋ณด๋‹ค ํฐ์ง€ ์ž‘์€์ง€๋ฅผ ์กฐ์‚ฌํ•œ๋‹ค.
∴๋‹จ ๊ธฐ์กด์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ์ธ์ ‘ํ•œ ๊ฐ™์€ ํ”ฝ์…€๊ฐ’์€ ์ตœ๋Œ€๊ฐ’์„ ์ฐพ์ง€ ๋ชปํ•˜๊ณ  ์†์‹ค๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์ธ์ ‘ํ•œ ํ”ฝ์…€๊ฐ’์„ ๋งŒ๋‚ฌ์„ ๋•Œ๋Š” ์ž๊ธฐ ์ž์‹ ์„ -1ํ•˜์—ฌ ๊ฐ’์„ ๋‚ฎ์ถ˜๋‹ค.
์˜ˆ) 55 100 100 100 55 -> 55 99 100 100 55 -> 55 99 99 100 55 -> 0 0 0 100 0

3. Hysteresis Thresholding ๋ถ€๋ถ„
์—์ง€์˜ ๋ฐฉํ–ฅ์— ๋Œ€ํ•˜์—ฌ ํ”ฝ์…€์€ ์ถ”์ ํ•˜๋ฉด ์—์ง€์˜ ๋ฐฉํ–ฅ๊ณผ ํ”ฝ์…€์˜ ์œ„์น˜๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋Š์–ด์ง€๋Š” ํ˜„์ƒ์ด ์ž์ฃผ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ์—์ง€์˜ ๋ฐฉํ–ฅ์„ ์ด์šฉํ•˜์ง€ ์•Š๊ณ  ์ž”๋””์— ๋ถˆ์„ ๋ถ™์—ฌ ์—ฐ๊ฒฐ๋œ ํ”ฝ์…€์„ ์ถ”์ ํ•˜๋Š” GlassFire ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ High๊ฐ’๊ณผ Low๊ฐ’์˜ ๊ฐœ๋…์„ ๊ทธ๋Œ€๋กœ ์ ์šฉํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.
tempImg๋ผ๋Š” ์ž„์‹œ ๋ฒ„ํผ๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด ๋ฐฉ๋ฌธํ–ˆ๋˜ ํ”ฝ์…€์˜ ์œ„์น˜์— ๋Œ€ํ•˜์—ฌ ํ‘œ์‹œ๋ฅผ ํ•ด๋‘”๋‹ค.
danji()ํ•จ์ˆ˜๋Š” ์žฌ๊ท€ํ˜ธ์ถœ๋กœ ์ธ์ ‘ํ•œ ํ”ฝ์…€์„ ๋ชจ๋‘ ๊ฒ€์ƒ‰ํ•ด์ค€๋‹ค.
danji()ํ•จ์ˆ˜๋Š” 8๋ฐฉํ–ฅ์— ๋Œ€ํ•˜์—ฌ Low๊ฐ’๋ณด๋‹ค ํฐ ํ”ฝ์…€์— ๋Œ€ํ•˜์—ฌ ๋ถˆ์„ ๋ถ™์ด๋“ฏ ์žฌ๊ท€ํ˜ธ์ถœ์„ ํ•˜์—ฌ ์„ ์„ ์ด์–ด๊ฐ„๋‹ค.

▣ ์ธํ„ฐํŽ˜์ด์Šค ์„ค๋ช…
์‹คํ–‰ ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜์—ฌ ํŒŒ์ผ๋ช…, ์‹œ๊ทธ๋งˆ๊ฐ’, Hysteresis์˜ low, high๊ฐ’์„ ์ž…๋ ฅํ•œ๋‹ค.
๊ฒฐ๊ณผ๋Š” DOG.bmp, NonMax.bmp, Hysteresis.bmp ๋กœ ์„ธ ๊ฐœ์˜ ์ด๋ฏธ์ง€๊ฐ€ ์ €์žฅ๋œ๋‹ค.

์—ฌ๊ธฐ์„œ ์ „์ฒด ํŒŒ์ผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
< source code >

์ข‹์€ ์˜๊ฒฌ ์–ด๋–ค ๊ธ€์ด๋“  ๋‹ต๋ณ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”


DOG

NonMax

Hysteresis



8/23/2011

AdaBoost Matlab source for understanding easy/ ์•„๋‹ค๋ถ€์ŠคํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋งคํŠธ๋žฉ ์†Œ์Šค


Created Date : 2006.7
Language : Matlab
Tool : Matlab
Library & Utilized : -
Reference :  {Paul Viola & Michael Jone}'s Paper
etc. : -




This source is made for AdaBoost algorithm understanding easy, when I prepared master's thesis.
First picture is the window for inputting data. If you click left button, positive(+1) data is inputted and right button is for inputting negative(-1) data.
After inputting all data, enter the any then boosting start.
Second image is the result of learning. All data(in this case, position is data) is determined as positive(+1) or negative(-1).

You can download this source <here>.

Plz reply your opinion.
Thank you.

(Please understand my bad english ability. If you point out my mistake, I would correct pleasurably. Thank you!!)


------------------------------------------------------

AdaBoost ์ž‘๋™ ์›๋ฆฌ๋ฅผ ์‹ฌํ”Œํ•˜๊ฒŒ ํŒŒ์•…ํ• ์ˆ˜ ์žˆ๋Š” ๋งคํŠธ๋žฉ ์†Œ์Šค
AdaBoostMatlab ๋งคํŠธ๋žฉ ํŒŒ์ผ์„ ์—ด์–ด์„œ - f5ํ‚ค ์‹คํ–‰
Figure ์ƒˆ์ฐฝ์ด ๋–ณ์„๋•Œ ์™ผ์ชฝ ํด๋ฆญ(+1 ํด๋ž˜์Šค), ์˜ค๋ฅธ์ชฝ ํด๋ฆญ (-1 ํด๋ž˜์Šค)์œผ๋กœ
ํ‰๋ฉด์— ํ•™์Šต ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ์„ ์ง€์ •ํ•ด์ค€๋‹ค. ๋งŽ์ด ํ•ด๋„ ์ƒ๊ด€์—†์Œ
ํ•™์Šต๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ์„ ์›ํ•˜๋Š” ๋งŒํผ ๋งŒ๋“  ๋‹ค์Œ ์—”ํ„ฐํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋ถ€์ŠคํŒ… ์‹œ์ž‘
ํ•™์Šต์ด ๋๋‚œ๋‹ค์Œ ํ‰๋ฉด์—์„œ ๋ชจ๋“  ์ขŒํ‘œ์— ๋Œ€ํ•˜์—ฌ +1 ํด๋ž˜์Šค์ธ์ง€ -1 ํด๋ž˜์Šค์ธ์ง€๋ฅผ ํŒ๋‹จํ•˜์—ฌ ์ƒ‰์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ์ด๊ฒƒ์ด ํ•™์Šต์— ๋Œ€ํ•œ ๊ฒ€์ถœ ๋.
AdaBoostMatlab.m ๋ง๊ณ  ๋‹ค๋ฅธ ํŒŒ์ผ๋“ค์€ ๊ทธ๋ƒฅ ๋งŒ๋“ค๋ฉด์„œ ํ…Œ์ŠคํŠธํ•œ ํŒŒ์ผ๋“ค์ธ๋ฐ ์ฐธ๊ณ ํ•˜์‹œ๊ณ  ์•„๋‹ค๋ถ€์ŠคํŠธ์— ํ•„์š”ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ์ด ์†Œ์Šค๋ฅผ ๋‹ค์šด ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. <here>

์ข‹์€ ์˜๊ฒฌ์ด๋‚˜ ๊ฐœ์„ ์‚ฌํ•ญ ์–ด๋–ค ๊ธ€์ด๋“  ๋‹ต๋ณ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

8/22/2011

Mini PhotoShop / Image Processing Tool / C++ source (MFC) / ๋ฏธ๋‹ˆ ํฌํ† ์ƒต, ์ด๋ฏธ์ง€ ํ”„๋กœ์„ธ์‹ฑ ํˆด


Created Date : 2003.3
Language : C/C++
Tool : Microsoft Visual C++ 6.0 (MFC)
Library & Utilized : -
Reference :  Simplified approach to image prcessing book -Randy Crane-
etc. : Bmp Image Files







Many ages ago, when I studied image processing firstly, I made this program for training programming skill and studying  image processing.

This program include variety image processing functions.
For example

Filter function - blur,highpass, median, embossing, edge gaussian noise, morphology, the window that support preview function and the value of mask.
Geometry function - flip, rotation, zoom in/out
Channel split - RGB, HSI, CMYK, YIQ, YUW, YUV, YCbCr, the window that support preview function.
Color adjustment - Contrast, Brightness, HSI, Gamma, Red-Green tint, Reference, colorfulness
Histogram - binary, logarithm, auto contrast strech, end in contrast stretch.
etc - undo,redo function, skin color detection, labeling

You can download entire source code -> <Here>

Plz reply your opinion.
Thank you.

(Please understand my bad english ability. If you point out my mistake, I would correct pleasurably. Thank you!!)


-----------------------------------------------------


์ฒ˜์Œ ์˜์ƒ์ฒ˜๋ฆฌ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์„ ๊ณต๋ถ€ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ํ”„๋กœ๊ทธ๋žจ ์ž…๋‹ˆ๋‹ค.

์ด ํ”„๋กœ๊ทธ๋žจ์€  bmp ํŒŒ์ผํฌ๋งท์„ ์ž์œ ๋กญ๊ฒŒ ๋‹ค๋ฃฐ์ˆ˜ ์žˆ๋Š” ํด๋ž˜์Šค๋ฅผ ์ œ์ž‘ํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
ํ•„ํ„ฐ๊ธฐ๋Šฅ - blur,highpass, median, embossing, edge gaussian noise, morphology.
ํ•„ํ„ฐ๊ฒฐ๊ณผ์™€ ๋งˆ์Šคํฌ๊ฐ’์„ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ธฐ๋Šฅ์ฐฝ.
์ด๋ฏธ์ง€์กฐ์ž‘ - ํ”Œ๋ฆฝ, ๋ฐ˜์ „, ํšŒ์ „, ํ™•๋Œ€, ์ถ•์†Œ
์ฒด๋„ ๋ถ„๋ฆฌ - RGB, HSI, CMYK, YIQ, YUW, YUV, YCbCr, ๋ถ„๋ฆฌ๋œ ์ฑ„๋„์„ ํ•œ๋ˆˆ์œผ๋กœ ๋ณผ์ˆ˜์žˆ๋Š” ๊ธฐ๋Šฅ์ฐฝ.
์ƒ‰์กฐ์ ˆ - Contrast, Brightness, HSI, Gamma, Red-Green tint, Reference, colorfulness.
ํžˆ์Šคํ† ๊ทธ๋žจ - ์ด์ง„ํ™”, logarithm, auto contrast strech,end in contrast stretch.
๊ธฐํƒ€ - undo,redo๊ธฐ๋Šฅ ์‚ด์ƒ‰์ถ”์ถœ, ๋ผ๋ฒจ๋ง.

์ด ํ”„๋กœ๊ทธ๋žจ์€ ์—ฌ๊ธฐ์—์„œ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. <Here>

๊ฐœ์„  ์‚ฌํ•ญ์ด๋‚˜ ์ข‹์€ ์˜๊ฒฌ ์žˆ์œผ์‹œ๋ฉด ๋‹ต๋ณ€ ์ฃผ์„ธ์š”.
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.


8/21/2011

Two Image mosaic (paranoma) based on SIFT / C++ source (OpenCV) / SIFT ํŠน์ง• ์ถ”์ถœ๊ธฐ๋ฅผ ์ด์šฉํ•œ ๋‘์žฅ์˜ ์˜์ƒ์„ ๋ชจ์ž์ต(ํŒŒ๋ผ๋…ธ๋งˆ) ์˜์ƒ์œผ๋กœ ๋งŒ๋“ค๊ธฐ

Created Date : 2011.2
Language : C/C++
Tool : Microsoft Visual C++ 2010
Library & Utilized : OpenCV 2.2
Reference : Interent Reference
etc. : 2 adjacent images


two adjacent iamges

Feature extraction by Surf(SIFT)

Feature matching

Mosaic (paranoma)

This program is conducted as follow process.
First, the program finds feature point in each image using SURF.
->cvExtractSURF
Second, feature points on each images is matched by similarity.
->FindMatchingPoints
Third, We get the Homography matrix.
->cvFindHomography
Last, we warp the image for attaching into one image.
->cvWarpPerspective

You can download source here.
If you have good idea or advanced opinion, please reply me.
Thank you.

-----------------------------------------------------------------------------

์ด์›ƒ๋œ ๋‘ ์žฅ์˜ ์˜์ƒ์„ ์ž…๋ ฅ ๋ฐ›์•„ ํ•˜๋‚˜์˜ ๋ชจ์ž์ดํฌ ์˜์ƒ(ํŒŒ๋ผ๋…ธ๋งˆ)์œผ๋กœ ๋งŒ๋“ ๋‹ค.
ํŠน์ง• ์ถ”์ถœ ๋ฐ ๋น„๊ต ๋ฐฉ๋ฒ• : suft ->cvExtractSURF
ํŠน์ง• ๋งค์นญ ๋ฐฉ๋ฒ• : FindMatchingPoints
ํ˜ธ๋ชจ๊ทธ๋ผํ”ผ ํ–‰๋ ฌ ๊ตฌํ•˜๊ธฐ : cvFindHomography
์˜์ƒ ๋ชจ์ž์ดํฌ ๋ฐฉ๋ฒ• : warpping

์ „์ฒด ์†Œ์Šค ์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ์„œ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
https://github.com/MareArts/Two-Image-mosaic-paranoma-based-on-SIFT
๊ฐœ์„  ์‚ฌํ•ญ์ด๋‚˜ ์ข‹์€ ์˜๊ฒฌ ์žˆ์œผ์‹œ๋ฉด ๋‹ต๋ณ€ ์ฃผ์„ธ์š”.
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

< gist >

< /gist >