본문 바로가기
반응형

전체 글288

[BOJ][Python]1920번 풀이 이번 문제는 아직 이유는 못찾았는데 런타임 에러가 나더라구요. 입력 예시는 통과하니까 일단 글은 써봅니다만, 나중에 고쳐야할 것 같네요. 문제 : https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 코드 : import sys ssr = sys.stdin.readline def counting(): cnt = [0 for _ in range(1,100002)] for i in num: cnt[i] +.. 2021. 12. 19.
[BOJ][Python]1259번 풀이 문제 : https://www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 코드 : import sys ssr = sys.stdin.readline while 1: num = ssr().rstrip() if num == '0': break if num == num[::-1]: print('yes') elif num != num[::-1]: print('no') 기본적으로 input이 문자열로 받는다는 것만 기억하면 되겠습니다(저는 input이라고 안쓰여있지만 ssr 대신에 in.. 2021. 12. 19.
[BOJ][Python]백준 2920번 풀이 그냥 듀크입니다. 문제 링크 : https://www.acmicpc.net/problem/2920 2920번: 음계 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8 www.acmicpc.net 코드 : import sys ssr=sys.stdin.readline line = list(map(int, ssr().split())) line1 = sorted(line) if line == line1: print('ascending') else: if line == line1[::-1]: print('descending'.. 2021. 12. 19.
[BOJ][Python]백준 9663번 풀이 그냥 듀크입니다. 이번 문제는 진짜 오래걸렸는데요. 머리로는 알겠는데 재귀로 구현을 하려니 자꾸 뭐가 안되고 해서 시간이 많이 걸렸습니다. 제가 재귀 연습을 좀 해야겠다 하고 생각하게 해준 문제기도 하구요. 문제 링크 : https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 코드 : import sys ssr = sys.stdin.readline def put_queen(cdx): if cdx == n: global cnt cnt += 1 else: for i in.. 2021. 12. 19.
[BOJ][Python]5956번 풀이 또 한동안 바빠서 못왔었는데요. 이제는 큰 불은 꺼서 다시 정기적으로 포스팅을 할 수 있을 것 같습니다. 최근에 백트래킹 공부를 계속 했었는데요. 제가 재귀 프로그래밍을 잘 못하다 보니 아이디어는 떠올라도 구현을 못하는 일이 비일비재하길래 재귀 구현 연습을 해야겠다는 생각이 들었습니다. 오늘 문제도 그 중 하나가 되겠네요. 문제 링크 : https://www.acmicpc.net/problem/5956 5956번: Symmetry Farmer John loves symmetry and is currently arranging his cows on his field partitioned into an N x M (1 2021. 12. 18.
[Image Processing][Python]이미지 스무딩(mean, median, k-nearest neighbor) 이번 친구들은 스무딩, 블러링 같은 이름으로 불리는 처리 방법입니다. 이런 필터링 작업들을 해주는 이유는 이미지의 노이즈를 줄이거나 이미지를 흐리게 하기 위해서 진행하는 경우가 많습니다. mean filter 결과 : 코드 : import cv2 import numpy as np def mean_filter(img): h,w = img.shape[:2] img1 = img for i in range(1,h-1): for j in range(1,w-1): img1[i][j] = (int(img[i-1][j-1])+int(img[i][j-1])+int(img[i+1][j-1])+int(img[i-1][j])+int(img[i][j])+int(img[i+1][j])+int(img[i-1][j+1])+int(i.. 2021. 12. 9.
[Image Processing][Python]이미지의 도심 구하기(Centroid) 이번엔 이미지의 도심을 구해보겠습니다. 저는 뭔가 이미지 선택을 좀 잘못한 것 같은데요. 여러분들은 확실하게 객체 구분이 되는 이미지를 사용하시면 좋을 것 같습니다. 결과 : 코드 : import cv2 import numpy as np def cvt_to_binary(img,binary_threshold): img1 = np.where(img > binary_threshold,255,img) img2 = np.where(img1 < binary_threshold,0,img1) return img2 def get_centroid(binary_img): h,w = binary_img.shape[:2] x=[] y=[] for i in range(h): for j in range(w): if binary_i.. 2021. 12. 8.
[Image Processing][Python]이미지 히스토그램(Histogram) 오늘은 이미지의 히스토그램을 한 번 알아보고자 합니다. 이번 포스팅도 사전 설명이 좀 있을 예정입니다만 최대한 간략하게 하도록 노력해보겠습니다. 히스토그램(Histogram)이란 데이터의 특징을 한눈에 알아볼 수 있도록 데이터를 막대그래프 모양으로 나타낸 것입니다. 디지털 영상처리의 관점에서는 히스토그램을 통해 영상의 특징을 파악할 수 있다는 장점이 있는데요. 1 채널 이미지를 예로 들어보자면 0에서 255까지의 intensity 범위가 있고 해당 값을 갖는 픽셀의 개수를 세어 그래프로 만들어보면 명도에 따른 픽셀의 개수가 나오는 것이기에 이미지가 밝기 등을 알 수 있겠죠. 이전 포스팅에서도 알아봤듯이 intensity를 수학적 연산을 통해서 값을 변환시키면 그게 이미지에도 적용된다는 것을 봤었죠. 특정.. 2021. 12. 8.
[Image Processing][Python]이미지 이진화(Binarization) 이전 포스팅에서 말했던 대로 오늘은 numpy 모듈도 사용해서 구현해보았습니다. 사용한 샘플 사진은 저번 포스팅과 같습니다. 결과 : 코드 : import cv2 import numpy as np def cvt_to_binary(img,binary_threshold): img1 = np.where(img > binary_threshold,255,img) img2 = np.where(img1 < binary_threshold,0,img1) return img2 img_name = input('Input Image Name : ') binary_threshold = int(input('Input Binary Threshold : ')) img = cv2.imread(f'./img_sample/{img_nam.. 2021. 12. 7.
[Image Processing][Python]이미지 그레이스케일 변환 문득 최대한 opencv를 안 쓰고 이미지 프로세싱을 진행해보면 어떨까 하는 생각이 들었습니다. 기초부터 이미지 프로세싱을 진행한다는 느낌도 들고 최소한 내가 사용하는 기술이 어떤 식으로 이뤄져 있는지는 알고 쓰는 게 나중에도 도움이 될 것이라 생각이 들어서 간단한 것부터 진행해보려 합니다. 이 글은 현재 opencv의 inshow, imread, imwrite 등의 이미지를 불러오고 보여주는 기술은 아직 구현하지 못했기에 전혀 opencv의 기능을 사용하지 않는 것이 아니라는 점을 미리 고지합니다. 흑백 이미지로 변환할 이미지를 아무거나 골라주세요. 저는 이 사진으로 해보겠습니다. 먼저 이미지에 대한 간단한 내용을 짚고 넘어가야 하는데요. 우리가 눈으로 볼 때는 이미지에 들어있는 무언가의 형태나 색을 .. 2021. 12. 6.
반응형