목록분류 전체보기 (162)
Coding Memo
xml 화면을 구성 시에 사용자의 단말 해상도에 따라, hdpi, mdpi, xdpi, ... 로 분류되고, 각 리소스에서 이미지등의 asset 파일이 로드가 된다. 만약 이미지 A의 해상도가 100*100으로 고정되어 있다고 할 때, 태블릿 같이 비교적 해상도가 큰 디스플레이와 휴대폰 같이 비교적 해상도가 작은 디스플레이에서 같은 크기로 표시가되면 사용자 입장에서 매우 불편할 것이다. 즉, 각 해상도에 따라 각각의 다른 해상도의 이미지를 준비해야 한다는 것이다. 이 방법은 매우 불편하다. 바로 Vector 이미지를 이용하는 것이다. Vector 이미지를 이용하면 하나의 파일로 다양한 크기의 같은 이미지를 얻을 수 있다. 크기를 늘리고 줄이는데 있어서 Vector를 이용해 표현한 이미지이기 때문에 깨지는..
이미지를 불러오는 중 imshow() 구문에 오류 발생... (왜? 상대경로로 제대로 줬는데 ㅠ) 에러를 보니 imshow() 구문 수행 중에 인자로 받은 이미지에 위의 에러와 같은 문제가 있어서 발생했던 것 같다. 그렇다면 원인은 imread() 함수 실행 줄에 있는데, 이미지를 제대로 로드하지 못했던 것이다. 이미지를 못 찾았거나, 경로가 이상하거나 등등... 해결방법: imread() 함수의 파라미터에 정확한 파일 경로 주기... -> 절대 경로로 바꿔서 파라미터를 주니 문제가 해결이 되었다.
해당 내용은 Visual Studio Code에서 나온 에러 이미지 처리 관련 과제 중 발견한 오류... Visual Studio Code에서 간단하게 opencv로 이미지를 만져보려고 했는데 이런 에러가 떴다. cv2가 설치가 제대로 되어있는지도 확인했지만 해결하지 못해서 결국 구글링... 바로 해결 방법을 찾을 수 있었다. (stackoverflow.com/questions/51593147/cv2-python-has-no-imread-member) 해결방법: settings.json 파일에 아래와 같이 구문을 추가하면 된다. (직접 환경 추가하기) "python.linting.pylintArgs": ["--generate-members"] 참고: settings.json 파일 여는 방법: ctrl +..
트위터 크롤링 방법 1. 트위터 계정 필요 (개발자 인증 따로 필요) developer.twitter.com/en Use Cases, Tutorials, & Documentation Publish & analyze Tweets, optimize ads, & create unique customer experiences with the Twitter API, Twitter Ads API, & Twitter for Websites. Let's start building. developer.twitter.com 이것저것 작성할 것들이 있다. 핸드폰 번호 인증이 필요한 것 같고 개발자 계정을 어떻게 사용할 건지 간단하게 영어로 표기하면 된다. 2. 그 계정으로 부터 API Key(Consumer key), AP..
파이썬은 변수 선언 시에 타입을 따로 지정하지 않는다(...) filename = None def loadFile(): filename = filedialog.askopenfilename(initialdir="/", title="Choose Img", filetypes=(("Image Files", "*.bmp"), ("all files", "*.*"))) print(filename) print(filename) filename을 전역 변수로 선언하고 함수에서 이 변수를 사용하려고 했는데 loadFile에서의 filename이 그 함수의 지역변수가 되어 사용되고 있음을 확인 할 수 있었다. 이름도 똑같은데 어떻게 전역변수로 사용할까? 해서 찾아보았다. 답은 global 이란 키워드로 '블록 내에서 이 변..
map 은 key에 대한 value를 1:1로 가지고 있는 집합이다. 맵에 key를 검색하면 value가 나온다. interface Map interface MutableMap : Map K는 키이고, V는 value이다. key와 value 값을 바로 줄 때는 'to'를 이용한다. (key to value) ex) var m: MutableMap = mutableMapOf("Korea" to "Seoul") put abstract fun put(key: K, value: V): V? map에 key와 value를 가진 아이템을 추가한다. 주의: list와 set은 add 였지만 map은 put이다! 참고: 위 함수는 map[key] = value와 같은 기능을 가진다. remove abstract fu..
Collections의 하위 클래스 중 하나로 Set이 있다. 집합으로 생각하면 편하다. 순서가 없는 데이터들의 집합. 중복을 허용하지 않는 데이터 공간이다. List와 마찬가지로 2가지가 있다. interface Set : Collection interface MutableSet : Set, MutableCollection mutableSet은 내용 변경이 가능하다. add abstract fun add(element: E): Boolean 아이템 E를 추가한다. addAll abstaract fun addAll(elements: Collection): Boolean Collecions E를 모두 set에 추가한다. clear abstract fun clear() 모든 아이템을 삭제한다. remove ..
Java와 마찬가지로 Collections 클래스에 List, Map, Set이 있다. 이 중 List는 순서가 있는 집합이다. 배열하고 리스트의 차이점을 간단하게 정리하면 Array List 연속적인 메모리 공간 불연속적인 메모리 공간 공간의 크기가 정해져있음 공간의 크기가 유동적임 (동적할당) 연속적인 메모리 공간에 대한 index 전의 데이터가 그 다음의 데이터를 포인터로 가리키고 있음 아래 함수들의 예시는 글 맨 아래에 한 번에 해놓았다. List Collection의 하위 클래스 중 하나이다. 각 데이터를 배열 처럼 index로 접근할 수 있다. interface List : Collection interface MutableList : List, MutableCollection 종류 List ..