1. 얼굴이 포함된 2장의 컬러 이미지 파일을 열어서 얼굴 부분만 첫 번째, 두 번째 윈도우 창에 각각 보인다.
2. 얼굴 영역에 모폴로지를 적용하여 노이즈를 제거한 후 세 번째, 네 번째 윈도우 창에 각각 보인다.
3. 세 번째 얼굴에서 네 번째 얼굴로 서서히 변하는 이미지를 다섯 번째 윈도우 창에 보인다.
- Screen Shot
- Source Code
- Description
1. 얼굴이 포함된 컬러 이미지 파일을 열어서 첫 번째 윈도우 창에 보인다.
2. 컬러 이미지에서 얼굴 부분은 컬러로, 나머지 부분은 그레이로 하여 두 번째 창에 보인다.
- Screen Shot
- Description
1. 이미지 파일을 열어서 첫 번째 윈도우 창에 보인다.
2. 첫 번째 윈도우에서 마우스 클릭을 두 번하면 두 개의 마우스 커서 좌표를 각각 사각형의 왼쪽 위 좌표, 오른쪽 아래 좌표로 하여 사각형 영역을 설정하고, 이 영역의 이미지만 r, g, b 평균을 하여 두 번째 윈도우 창에 보인다.
3. 이 때, 두 번째 창에는 선택된 영역의 크기만큼만 보여야 한다.
- Screen Shot
/**********************************/
/* Numerical Analysis Homework #2 */
/* Department of Computer Science */
/* 2003721181, Lee Seong woo */
/**********************************/
#include <stdio.h>
#include <math.h>
#define CAPACITY 10
double func(double p);
int main(void)
{
double p[CAPACITY];
int i = 1;
double tolerance = 0.0005; // Tolerance - 오차 한계 값
p[0] = 1.0; p[1] = 2.0;
printf("-------------------------------------n");
printf("n pn f(pn) n");
printf("-------------------------------------n");
// p[i] 값과값 차이의 절대값이 Tolerance보다 작을 때 프로그램 종료
while(fabs(p[i] - p[i - 1]) >= tolerance)
{
i++;
p[i] = p[i-1] - (func(p[i-1]) * (p[i-1] - p[i-2])) / (func(p[i-1]) - func(p[i-2]));
printf("%dt%.10ft%.10fn", i, p[i], func(p[i]));
}
printf("-------------------------------------n");
return 0;
}
// 해를 구하기 위한 함수
double func(double p)
{
return pow(p, 3) + 4 * pow(p, 2) - 10;
}
----
2007/09/20 - [놀이] - [과제] Numerical Analysis - C로 구현한 Bisection Method
/* Numerical Analysis Homework #1 */
/* Department of Computer Science */
/* 2003721181, Lee Seong woo */
/**************************************/
#include <stdio.h>
#include <math.h>
double logB(double x, double base);
double func(double p);
int getIterations(double tolerance, double startPoint, double endPoint);
int main(void)
{
double a = 1.0, b = 2.0, tolerance = 0.0005;
int i, repeat;
// 주어진 Tolerance를 이용해서 필요한 반복횟수를 구함
repeat = getIterations(tolerance, a, b);
printf("---------------------------------------------------------------------n");
printf("n an bn pn f(pn)n");
printf("---------------------------------------------------------------------n");
for(i = 0; i < repeat; i++)
{
if(func(a) * func(a + ((b - a) / 2)) < 0)
{
printf("%dt%.10ft%.10ft%.10ft%.10fn",
i + 1, a, b, a + ((b - a) / 2), func(a + ((b - a) / 2)));
b = a + ((b - a) / 2);
}
else
{
printf("%dt%.10ft%.10ft%.10ft%.10fn",
i + 1, a, b, a + ((b - a) / 2), func(a + ((b - a) / 2)));
a = a + ((b - a) / 2);
}
}
printf("---------------------------------------------------------------------n");
return 0;
}
// 밑을 임의로 정할 수있는 로그함수
double logB(double x, double base)
{
return log(x) / log(base);
}
// 해를 구하기 위한 함수
double func(double p)
{
return pow(p, 3) + 4 * pow(p, 2) - 10;
}
// Tolerance에 따른 반복횟수를 구함
int getIterations(double tolerance, double startPoint, double endPoint)
{
return ceil(logB((endPoint - startPoint) / tolerance, 2));
}
소스 그냥보기(클릭)
SP3 네번째 과제, C#으로 구현한 아주아주아주 간단한 그림판.
기능은 선 그리기(실선, 점선, 파선), 도형 그리기(원, 채워진 원, 사각형, 채워진 사각형),
선 색 바꾸기, 선 두께 바꾸기.
자잘한 버그 수정하고 파일로 저장하는 기능 등 추가하고 Windows 내장 그림판 정도의
기능을 구현해보자.
근데.....언제??? -_-;;;
암튼...소스는 매우매우매우 스파게티같으니....베낄려면 베끼시고...
근데 지금 봐도 소스 정말 더럽다;;
비는 이틀째 내리고 기분은 deep blue....blue....
드디어 OS 과제가 나왔다.
기간은 4주정도?
하지만 실제 제작 가능한 기간은 1~2주 정도밖에 안될듯.
뭔가 감이 올듯 말듯...애매함.
어쨌든 잘 해봐야지.
광운분식에서 밥먹었는데 누가 우산을 가져가버렸다.
선배 씌워주고, 친구 씌워주고.
결국 나는 비 맞고 집에 가게될듯.
뭐야 이거;
힘들다 힘들다 하다 보면 더 힘들어지는것 같다.
하나씩 하나씩 잘 헤쳐나가다 보면 끝이 보이겠지.
내일은 컴퓨터구조 Quiz.
일단 이것부터.
소프트웨어공학 과제때문에 동아리방에 꽤나 늦게까지 있다가 좀 전에 집에 들어왔다.
거의 18시간만에 집에 온건가;
어차피 집에서 과제 했었더라도 이 시간까지(아니, 어쩌면 더 늦게까지) 하고 있었을테니...
텅빈 방안에 음악 틀어놓고 혼자 끙끙대는것 보다는 동아리 사람들과 함께 있는게 더 재밌는것 같다는 생각;
어쨌든 과제는 데드라인에 거의 임박해서 하기땜에;;
그래도 막막했던 소프트웨어공학 과제가 거의 마무리 되어가는구나...
소프트웨어실습3 과제 끝내놓고 잘까나...