728x90

c++ 256

OpenCV] findContours를 사용해 윤곽(contour) 추출하기

findContours를 이용해서 윤곽(contour)을 추출하는 걸 시도했다.외곽선 경계가 명확하지 않은 것도 있고, 응용 방법을 잘 몰라서 경계선이 명확히 그어지지 않은 것도 있는 듯 하다. 소스코드 #include #include #include #include using namespace cv; using namespace std; int main(void) { Mat image; image = imread("IU.jpg", 1); namedWindow("Display Window", CV_WINDOW_AUTOSIZE); imshow("Display Window", image); Mat gray; cvtColor(image, gray, CV_BGR2GRAY); Canny(gray, gray, 10..

Library/OpenCV 2018.04.26

백준] 1356 - 유진수

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에 수 N이 주어진다. 이 수는 2,147,483,647보다작거나 같은 자연수이다. 출력첫째 줄에 N이 유진수이면 YES, 아니면 NO를 출력한다. 소스코드 #include #include #include using namespace std; int main(void) { int n, tmp, sub1, sub2, size; vector arr; bool check = false; cin >> n; tmp = n; while (tmp > 0) { arr.push_back(tmp % 10); tmp /= 10; } size = arr.size(); if (size > 1) { for (int i = 0; i < size; i++) { sub1 = su..

백준] 14501 - 퇴사

시간 제한 : 2초메모리 제한 : 512MB 입력첫째 줄에 N (1 ≤ N ≤ 15)이 주어진다.둘째 줄부터 N개의 줄에 Ti와 Pi가 공백으로 구분되어서 주어지며, 1일부터 N일까지 순서대로 주어진다. (1 ≤ Ti ≤ 5, 1 ≤ Pi ≤ 1,000) 출력첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. 소스코드 #include #include using namespace std; int main(void) { pair arr[16] = { {0,0}, }; int dp[16] = { 0, }, n; cin >> n; for (int i = 0; i > arr[i].first >> arr[i].second; for (int i = 0; i < n; i++) { if ..

백준] 5212 - 지구 온난화(COCI 2012/2013)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 지도의 크기 R과 C (1 ≤ R, C ≤ 10)가 주어진다. 다음 R개 줄에는 현재 지도가 주어진다. 출력50년 후의 지도를 출력한다. 소스코드 #include #include using namespace std; int main(void) { int r, c, startR, startC, endR, endC; string arr[10], next[10]; cin >> r >> c; for (int i = 0; i > arr[i]; next[i] = arr[i]; } for (int i = 0; i < r; i++) { for (int j = 0; j < c; j++) { if ((char)arr[i][j] == ..

백준] 11403 - 경로 찾기

시간 제한 : 1초메모리 제한 : 256MB 입력첫째 줄에 정점의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄부터 N개 줄에는 그래프의 인접 행렬이 주어진다. i번째 줄의 j번째 숫자가 1인 경우에는 i에서 j로 가는 간선이 존재한다는 뜻이고, 0인 경우는 없다는 뜻이다. i번째 줄의 i번째 숫자는 항상 0이다. 출력총 N개의 줄에 걸쳐서 문제의 정답을 인접행렬 형식으로 출력한다. 정점 i에서 j로 가는 경로가 있으면 i번째 줄의 j번째 숫자를 1로, 없으면 0으로 출력해야 한다. 소스코드 #include using namespace std; int graph[100][100], n; void Floyd() { for (int k = 0; k < n; k++) for (int i = 0; i ..

백준] 2669 - 직사각형 네개의 합집합의 면적 구하기(KOI 1996)

시간 제한 : 1초메모리 제한 : 128MB 입력입력은 네 줄이며, 각 줄은 직사각형의 위치를 나타내는 네 개의 정수로 주어진다. 첫 번째와 두 번째의 정수는 사각형의 왼쪽 아래 꼭지점의 x좌표, y좌표이고 세 번째와 네 번째의 정수는 사각형의 오른쪽 위 꼭지점의 x좌표, y좌표이다. 모든 x좌표와 y좌표는 1이상이고 100이하인 정수이다. 출력첫 줄에 네개의 직사각형이 차지하는 면적을 출력한다. 소스코드 #include using namespace std; int main(void) { int d[101][101] = { 0, }, sum = 0; int x1, y1, x2, y2; for(int i=0;i> x1 >> y1 >> x2 >> y2; for (int i = x1; i < x2; i++) ..

728x90