c#(12)
-
모폴로지(Morphology) 연산
모폴로지 연산이란 커널을 통하여 노이즈 제거, 구멍 채우기, 끊어진 선 이어 붙이기 등을 행하는 형태학적 연산을 말합니다. 침식 연산 Erosion 이웃에 있는 모든 픽셀 중 최솟값이 출력 픽셀의 값이 됩니다. 이진 영상의 경우, 값이 0인 이웃 픽셀이 하나라도 있으면 픽셀은 0으로 설정됩니다. 8bit나 24bit의 영상의 경우, 가장 밝은 값을 위주로 침식시킵니다. 모폴로지 침식은 고립된 객체와 작은 객체를 제거하고 중요한 객체만 남깁니다. 팽창 연산 Dilation 이웃에 있는 모든 픽셀 중 최댓값이 출력 픽셀의 값이 됩니다. 이진 영상의 경우, 값이 1인 이웃 픽셀이 하나라도 있으면 픽셀은 1로 설정됩니다. 8bit나 24bit의 영상의 경우, 가장 밝은 값을 위주로 팽창시킵니다. 모폴로지 팽창은..
2020.12.30 -
[C#] overriding 오버라이딩 / 메서드 숨기기 (hold)
시험기간때문에 바뻤다가 오랜만에 c#을 공부하게 되었다. 평소에 많이 들었던 오버라이딩을 공부했다. 오버라이딩을 하기 위해서는 메소드가 virtual 로 선언해 놔야하며, 상속된 클래스에서 그 메소드를 재정의 해줍니다. 메소드를 재정의 하고 있음을 알리기 위해 override라는 키워드로 메소드를 정의해줍니다. amor라는 부모 클래스. virtual키워드 함수 initialize를 생성합니다. 그 밑에 자식 클래스 ironman과 warmachine을 생성, 안에 override initialize각각 선언후 출력을 다르게 해놓습니다. 첫번째는 amor에서 메서드를 호출시켰으므로 Armored가 뜨고, 두번째는 amor 의 ironman에다가 ironman클래스로 선언을 해서 override를 거쳐 r..
2019.04.14 -
[C#] Window Form을 이용한 타자연습 프로그램
오늘 프로그래밍 실무 시간에 타자연습 프로그램을 만들어 보았다. 기능은 쳐야할 문장표시, 타수 표시, 타이머, 진행바 등이 있다. 먼저 텍스트 박스와 제시된 문장을 체크하는 코드부터 살펴보도록 하자. 첫째 if문은 엔터를 눌렀을때 발생하고, 밑에 if문은 제시한 문장과 자신이 친 문장이 같을때 발생하는 이벤트와 밑에 else는 그렇지 못할때 발생한다. sum은 입력한 타수, cnt는 시간을 나타내며 나중에 있을 타수계산에 이용된다. 1로 만드는 이유는 엔터를 누르고 다음문장으로 넘어갈때마다 타수가 초기화 되야 하기 때문이다. eve라는 쓰레드를 만들고 타수계산공식과 그 값들을 텍스트에 띄운다. 50마이크로초 마다 발생되고 무한반복되게 만들어 놓았다. 나머지 시간을 올리고 타수입력받는 코드를 만들면 모두 ..
2019.04.08 -
[C#] 클래스 : 정적필드, 얕은 복사와 깊은 복사, this 키워드
1. 정적 필드 프로그램 전체에 걸쳐 공유해야 하는 변수를 사용할때 정적 필드 안에 생성하면 전체에 공유를 할 수 있다. 이와 같이 Global이라는 정적 필드에 public static int count 라는 변수를 선언하면 프로그램 전체에 공유 할 수 있습니다 변수 뿐만 아니라 메소드도 공유할 수 있으며, 정적 메소드라고 불립니다. 인스턴스가 아닌 클래스 자체에 소속되고 정적 메소드가 클래스의 인스턴스를 생성하지 않아도 호출이 가능합니다. 2. 객체 복사 (얕은 복사와 깊은 복사) 얕은 복사 바로 코드를 보도록 합시다. 먼저 객체 source 선언, source의 field1,2에 10,20을 대입합니다. target객체를 만들고 sourve를 대입 후, target field2에 30을 대입합니다...
2019.04.01 -
[교과 C#] 윈도우폼 계산기 만들기
먼저 이와 같이 디자인과 이름을 정해준 다음, 간단한 코드를 작성해 보도록 하자 어느정도 명령어를 치고나면 나머지는 반복작업이다. 위의 코드는 = 버튼을 눌렀을때, 라디오 버튼이 어디에 체크되어있는지 확인하고 값을 던져주는 역할을 합니다. 결과값을 의미하는 변수 num에 위의 두 텍스트박스의 값을 받아와 계산해서 다시 num에 전달하고, 맨 밑에 있는 결과 텍스트박스에 값을 보여줍니다. 빨간 네모의 if문은 +일때 작동하는 코드로, 나머지 빼기,곱하기,나누기는 비슷하게 응용하면 바로 만들수 있다. + 라디오 이벤트를 체크할때 발생하며, 밑의 if문과 코드는 나머지 빼기, 곱하기, 나누기 라디오 버튼을 해제시켜 줍니다. 이 코드도 위와 마찬가지로 나머지 사칙연산을 응용하여 만들면 계산기가 완성이 된다. 중..
2019.04.01 -
[교과 C++] C++ 접근 지정자 public/private, 상속
1. 접근 지정자 멤버에 대한 접근 지정자의 유형 public - 모든 다른 클래스에 허용 private - 동일한 클래스의 멤버 함수에만 제한함 2. 중복 접근 지정 private/public 에 따로 중복하여 사용할 수 있고, 디폴트 접근 지정은 private로만 해야 한다. 멤버 변수를 사용할때 public으로 할 경우 노출되기 때문에 마음대로 접근하게 된다. 그러므로 보호를 받기 위해서는 private를 쓰는게 바람직하다. 첫번째 예제 소스는 private와 public으로 돈이라는 변수를 생성해 차이점을 비교하는 예제이다. 두번째 예제 소스는 private에 접근을 시도해보고 결과를 확인하는 예제이다. 3. 상속 상속은 상속해주는 기본 클래스와 상속받는 파생클래스로 이루어져 있으며, 상속을 쓰는..
2019.04.01