Programming 95

파이썬 리스트 Python List 인덱싱(Indexing), 슬라이싱 (Slicing) 하는 방법

Python List는 여러 값을 [ ] 안에 담아주는 파이썬의 기본 자료 구조이다. 만약, 아래와 같은 리스트가 있는 경우, 이 값들을 어떻게 슬라이싱하는지 예시를 보자. lst = [1,2,3,4,5,6,7,8,9,10] 슬라이싱 하기 위해서는 인덱스라는 개념이 필요하다. 인덱스(Index)는 영어 뜻 그대로 리스트의 값의 순서, 번호이다. 예를 들어, 단일의 값(3)의 인덱스는 파이썬의 인덱스는 0부터 시작하기 때문에 2라는 인덱싱을 해주어야 한다. 리스트 마지막 값들은 음수값을 사용하여 아래와 같이 인덱싱 해줄 수도 있다. lst[0] = 1 lst[1] = 2 lst[2] = 3 lst[3] = 4 .... lst[8] = 9 lst[-2] = 9 lst[9] = 10 lst[-1] = 10 이..

Programming/python 2023.02.12

python , map 함수로 파이썬 한 줄 코드 장인 되기!

파이썬의 내장함수 map - [리스트]나 (튜플) 자료구조의 값들에 반복적인 연산을 해주어야 할 때, 자주 쓰이는 아주 간편한 함수입니다. - 기본 문법은 map(function, iterable)으로 function자리에 반복적으로 계산해주고자 하는 함수가 들어가고, iterable에는 리스트나 튜플 형태의 반복 가능한 자료형이 나오게됩니다. 예시로 아래의 문제를 풀어보겠습니다. (프로그래머스 스쿨 > 코딩테스트 입문 > 연습문제 "369 게임")369라는 숫자가 나오는 횟수를 정답으로 리턴하면 되는 문제입니다. 여기에서 저는 아래와 같이 for구문을 이용해서 값을 구해주었습니다. 각 수를 탐색하며, 3,6,9 중에 해당되는 문자가 나올때마다 횟수를 더해주는 방식이죠.def solution(order)..

Programming/python 2023.02.12

파이썬 집합 자료형 | Python set()

파이썬에서 사용되는 자료구조 중에서 집합(set)을 활용하는 방법을 정리한 글이다. 기본 규칙 !! 집합은 원소들끼리 겹치지 않는다 !! : 자료 내에 중복되지 않는 고유값만 알고싶을 때, 자주 쓰임. !! 집합 자료구조는 순서를 가지지 않는다(Unordered) !! : 순서가 중요한 자료에서는 쓰지 않는 것이 좋다!! # 빈 집합 만드는 법 set1 = set() # 리스트를 집합으로 만드는 법 set2 = set([1,2,3,4,5]) print(set2) # Output : {1, 2, 3, 4, 5} # 문자열을 집합으로 만드는 법 set3 = set("strings") print(set3) # Output : {'s', 't', 'n', 'r', 'i', 'g'} # 집합을 리스트, 튜플로 만..

Programming/python 2023.02.08

바운딩 박스 텍스트 읽는 순서대로 정렬하는 법 | How to sort the shuffled bounding boxes in a same way to read text

Computer Vision분야를 공부하면서 자주 접하는 bounding box 처리에 대한 내용이다. 이미지 내의 인식하고자하는 객체에 대한 영역에 박스표시를 한다고 해서 bounding box라는 단어를 사용하고, 보편적으로 좌표값(startX, startY, endX, endY)으로 된 데이터를 자주 볼 수 있다. 나는 EAST Detector을 사용하여 이미지 내의 text영역에 대한 bounding box를 추출하는 작업을 수행하였다. EAST Detector를 이용하면 한 이미지 안에서 텍스트라고 인식된 모든 영역에 대해서 좌표값 리스트로 값이 리턴되는데, 그 결과로 나온 좌표값 리스트 순서가 매우 뒤죽박죽이었다. 예시 이미지 # bounding boxes list [array([ 95, 14..

cv2.error: OpenCV(4.5.4) !_img.empty() in function 'imwrite

cv2.error: OpenCV(4.5.4) /tmp/pip-req-build-9vck9bv0/opencv/modules/imgcodecs/src/loadsave.cpp:799: error: (-215:Assertion failed) !_img.empty() in function 'imwrite 원인 / 해결방법 https://somjang.tistory.com/entry/Python-OpenCV-error-215Assertion-failed-srcempty-in-imwrite-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95 [Python] OpenCV error: (-215:Assertion failed) !_src.empty() in imwrite 해결방법 OpenCV를 활용하여 이..

Programming/errors 2023.02.03

파이썬 Python유저가 MATLAB 데이터셋을 만났을 때

이런 저런 데이터셋을 수집하다가 .mat 파일을 마주쳤는데, 이게뭐야! 하시는 분들을 위한 글입니다. - MATLAB 라이센스없이 실행하는 법 - MATLAB 데이터셋 다루는 법 (예시) 1. 먼저, 매트랩(Mathworks)페이지로 들어간다. 2. 상단의 (MATLAB받기 또는 계정 아이콘)을 눌러서 (회원가입 또는 로그인)을 한다. 3. 로그인 후에 계정페이지이다. 4. MATLAB 받기 버튼을 눌러서 들어가면 5번으로 넘어간다. 5. Open MATILAB Online (basic) 버튼 클릭 (이 페이지가 바로 안나올 수도 있지만 분홍색 표시한 버튼은 나올 것이다.) 6. 처음은 Command Window가 default로 띄워진다. (command window에서 코드를 하나씩 실험해볼 수 있다..

Programming/matlab 2023.02.02

파이썬(python) OpenCV(4.5.4) :-1: error: (-5:Bad argument) in function 'rectangle'

opencv 라이브러리로 bounding box 좌표를 입력하여, box를 그려주는 코드를 작성하다가 해당 에러가 났다. > Overload resolution failed: > - Can't parse 'pt1'. Sequence item with index 0 has a wrong type > - Can't parse 'pt1'. Sequence item with index 0 has a wrong type > - Can't parse 'rec'. Expected sequence length 4, got 2 > - Can't parse 'rec'. Expected sequence length 4, got 2 항상 깜빡하던 것이 이유였다. rectangle 함수의 좌표에는 int 정수형 값만 입력해야한..

Programming/errors 2023.01.30