본문 바로가기

Coding9

[OpenCV] Image Crop OpenCV Python 명령어로 이미지 잘라내기 [목차] Python 코드 내용 설명 이미지 데이터 구조 이미지 자르기(Crop) 예시 Python 코드 import cv2 # 이미지 불러오기 image = cv2.imread('이미지 경로') # 이미지 자르기 # image[y좌표 시작 지점: y좌표 종료 지점, x좌표 시작 지점: x좌표 종료 지점] # 잘라낼 이미지 좌측 상단 xy좌표가 (2, 1), 우측 하단 xy좌표가 (17, 14)인 경우 cropped_image = image[1:14, 2:17] 내용 설명 이미지 데이터 구조 import cv2 image = cv2.imread('이미지 경로') 위 예시 코드를 실행하면 해당 이미지가 image라는 변수에 저장되며 이때, image는 "n.. 2024. 1. 1.
[OpenCV] EasyOCR 설치 후 imshow 오류 해결 이번 글에서는 EasyOCR 설치 후 OpenCV의 imshow 함수에서 에러가 나는 문제를 해결한 기록을 남긴다. 에러 메시지 error: opencv(4.8.1) /io/opencv/modules/highgui/src/window.cpp:1272: error: (-2:unspecified error) the function is not implemented. rebuild the library with windows, gtk+ 2.x or cocoa support. if you are on ubuntu or debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvshowimage'.. 2023. 12. 12.
[Mojo] 파이썬보다 3만5천배 빠른 AI 개발 언어 '모조' Mojo 🔥 — a new programming language for all AI developers. 모듈러(Modular)라는 개발사에서 파이썬보다 3만5천배 빠른 AI 개발용 프로그래밍 언어 "모조(Mojo)"를 출시했다. Mojo는 Python의 사용 편의성과 C의 성능을 결합하여 AI 하드웨어의 프로그래밍 가능성과 AI 모델의 확장성을 굉장히 높여줄 수 있는 개발 언어라고 한다. 이번 글에서는 AI 개발자들을 위한 새로운 프로그래밍 언어 모조(Mojo)에 대해 알아본다. 사용 편의성 및 호환성 기본적으로 파이썬 코드를 거의 그대로 실행 가능하다. Python 에코 시스템과의 높은 호환성으로 Numpy나 Matplotlib 등의 라이브러리를 Mojo에서 원활하게 이용이 가능하다. 또한, 공식 웹.. 2023. 5. 12.
[Python] print() 함수 출력 명령 함수 print()의 문법과 escape 코드, 옵션 등을 알아봅니다. 기본 출력 문법 print() 함수 호출 시 () 괄호 안에 출력할 내용을 입력한다. $\$숫자 출력 예시 () 괄호 안에 숫자를 입력하면 해당 숫자를 출력한다. [입력] print(1) [출력] 1 문자 출력 예시 출력할 문자를 작은따옴표(' ') 혹은 큰따옴표(" ")로 감싸서 () 괄호 안에 입력하면 해당 문자를 출력한다. [입력] print("Hello Python") [출력] Hello Python 따옴표는 1쌍 혹은 3쌍을 사용하여 그 안의 입력된 문자를 출력할 수 있다. 그 외의 개수를 사용했을 경우 오류 발생. [입력] print('Hello Python') print("Hello Python") print(.. 2023. 2. 26.
[프로그래머스 Lv.2] 혼자 놀기의 달인 (파이썬 풀이) 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] * cards의 원소는 "자연수"이다. 요약: 모든 그룹의 상자 개수를 구하고 가장 큰 수와 두 번째로 큰 수를 곱하여 반환한다. 인덱스 순서대로 cards 배열의 원소를 확인한다. 이때, 자연수가 아닌 0인 원소는 열어본 상자로 간주한다. 열어본 상자가 아니라면 해당 원소값을 다음 확인할 인덱스로 정하며 해당 원소는 열어봤다는 의미로 0으로 바꾼다. 열어본 상자를 발견할 때까지 1~2를 반복하며 해당 작업의 수행 횟수를 저장한다. 열어본 상자를 발견하면 answer 변수에 이번 회차 작업.. 2022. 10. 28.
[프로그래머스 Lv.2] H-Index (파이썬 풀이) 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] * 논문별 인용 횟수 배열(citations)을 내림차순 정렬한 배열의 인덱스는 해당 논문의 인용 횟수 이상의 인용 횟수를 가진 논문의 수와 같다. citations을 내림차순 정렬하여 인덱스 순서대로 인덱스 값이 인용 횟수보다 크거나 같은지 확인한다. 인덱스 값이 인용 횟수보다 큰 경우를 발견하면 해당 인덱스를 반환한다. 발견하지 못한 경우 전체 논문의 수를 반환한다. [코드] def solution(citations): for i, j in enumerate(sorted(citation.. 2022. 10. 28.
[프로그래머스 Lv.2] 카펫 (파이썬 풀이) 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이 2] * 카펫의 가로, 세로 각각의 격자의 수는 모든 격자의 수의 약수이다. * 즉, 모든 격자의 수 ÷ 세로 격자의 수 = 가로 격자의 수 * 노란색 격자의 수 = (카펫의 가로 격자의 수 - 2) * (카펫의 세로 격자의 수 - 2) * 노란색 겉 테두리 1줄은 갈색 격자로 이루어져야 하므로 카펫의 가로, 세로 격자의 최소 수는 3 이상이다. 갈색과 노란색 격자의 수를 모두 더하여 총 합을 구한다. 3이상, 총 합 이하의 수를 차례로 대입하여 다음 식이 성립하는 약수 y를 찾는다. {(총.. 2022. 10. 26.
[프로그래머스 Lv.2] 큰 수 만들기 (파이썬 풀이) 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] * 이 문제는 시간 복잡도를 최소화해야 함. * 탐욕법(Greedy) 유형의 문제라는 것이 힌트. * combinations나 max 함수로는 제한 시간에 맞추기 어려움. 만들고자하는 가장 큰 수의 앞자리부터 순서대로 찾기 위한 범위를 매번 설정해야 한다. 찾을 범위 시작 위치 인덱스는 0, 끝 위치 인덱스는 (number의 총 길이 - 만들고자하는 수의 총 길이)로 초기화 한다. 찾을 범위 끝 위치 인덱스+1 로 범위를 갱신하고 현재 범위 내에서 최댓값을 찾아 정답이 될 문자열 변수에 추.. 2022. 10. 25.
[프로그래머스 Lv.2] 롤케이크 자르기 (파이썬 풀이) 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] * 이 문제는 시간 복잡도를 줄이는 것이 관건인 문제. 전체 토핑의 종류와 개수를 딕셔너리로 만든다. (Hashable 하게 만들어 연산 속도를 줄이기 위함) 빈 세트을 선언한다. topping에서 마지막 토핑을 pop하여 세트에 추가하며 동시에 딕셔너리에서 해당 토핑의 개수를 1 감소시킨다. 이때, 토핑의 개수가 0인 경우 딕셔너리에서 해당 키값을 삭제한다. 이후 딕셔너리의 길이와 세트의 길이가 같으면 자르는 방법의 수를 1 증가시킨다. 딕셔너리의 길이가 세트의 길이보다 크거나 같으면 3~.. 2022. 10. 22.