-
영상처리 & opencv
[javascript/python] colab에서 웹캠 실행하기
colab에서는 opencv에서 웹캠을 사용하는 cv2.VideoCapture(0) 코드가 동작하지 않는다. 저 코드는 기기에 연결된 장치를 불러오는 데 colab은 서버에 연결되어 있기 때문이다..! 따라서 www.it-swarm.dev/ko/python/google-colab%EC%97%90%EC%84%9C-cap-cv2videocapture-0-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95/809606863/ 링크 안의 https://colab.research.google.com/notebooks/snippets/advanced_outputs.ipynb#scrollTo=2viqYx97hPMi 에서 Camera Capture부분의 코드를 사용하여 colab에서 웹캠을 실행해보았다..
-
알고리즘
[알고리즘/프로그래머스] 그리디 - 조이스틱
탐욕법(Greedy) > 조이스틱 (개인적으로 어려웠음) 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 만들고자 하는 이름 name이 매개변수로 주어질 때, 이름에 대해 조이스틱 조작 횟수의 최솟값을 return 하도록 solution 함수 만들기 실패한 코드 아래의 코드는 테스트케이스 11번이 틀림 --> "ABAAAAAAAAABB" 일 때 7이 출력되야 하는데 15가 출력됨 한 방향으로 가는 것만이 아니라 2번째 B까지 갔다가 다시 돌아가는 것이 빠르기 때문에 출력값이 다름 def s..
-
영상처리 & opencv
[opencv] 직선 검출(Line Detection)
참고 출처 : https://076923.github.io/posts/Python-opencv-28/ https://opencv-python.readthedocs.io/en/latest/doc/25.imageHoughLineTransform/imageHoughLineTransform.html https://ko.wikipedia.org/wiki/%ED%97%88%ED%94%84_%EB%B3%80%ED%99%98 직선 검출 알고리즘: 허프 변환(Hough Transform)을 활용 (위 출처의 이론적인 설명이 자세하게 나와 있습니다 ) 위의 사진처럼 3개의 점에 대해서 원점에서 각 점까지의 거리를 𝜃, r로 표현할 수 있다. 이 곡선은 각 점(x, y)에 대해서 r=xsinθ+ycosθ을 만족한다. 허프 ..
-
시행착오
jetson nano - balenaEtcher 오류
developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#write Getting Started With Jetson Nano Developer Kit The NVIDIA® Jetson Nano™ Developer Kit is a small AI computer for makers, learners, and developers. After following along with this brief guide, you’ll be ready to start building practical AI applications, cool AI robots, and more. developer.nvidia.com Jetson Nano 개발자 키트(4GB) 시..
-
시행착오
[unity] Button Onclick() No Function 문제
unity UI Button에서 On Click()에 자꾸 No Function이 떠서 왜 이러지 ??????? 했더니... 검색했더니 자꾸 빈 오브젝트를 만들어서 거기 script를 적용하고 다시 드래그해보라길래 무슨말인가 했는데 처음부터 오브젝트를 드래그를 안했다... 그냥 내가 드래그를 잘못했던 거 .........ㅎ Object를 드래그 해야하는데 어쩐지 이상했어... 내 실수라 기록하는게 민망하다 .. 낄낄
-
unity
[unity] #8. 화살 피하기 게임 - 1
- 화살 피하기 게임 화면 가운데 플레이어, 오른쪽 위에는 HP 게이지를 표시한다. 화살이 위에서 아래로 떨어지고 플레이어를 좌우 화살표 버튼을 움직여 화살을 피한다. 플레이어가 화살에 맞으면 HP 게이지가 줄어든다. - 게임 설계 오브젝트 : 플레이어, 화살, 배경, 이동 버튼, HP 게이지 1. 움직이는 오브젝트 : 플레이어, 화살 --> 컨트롤러 스크립트 필요 2. 게임을 플레이할 때 생성될 오브젝트 : 화살 --> 제너레이터 스크립트 필요 더보기 게임 도중에 오브젝트를 자동 생성하려면 생성을 담당할 공장이 필요하다. 공장을 가동시키기 위해서 제너레이터 스크립트가 필요하다. 화살 제너레이터 --> 화살을 1초에 1개씩 생성 3. 진행 상황을 보면서 UI를 갱신하는 감독 : HP 게이지 --> 감독 ..
photo
new
-
study [nvme-cli] command 추가 방식 nvme-builtin.h 구조와 command 추가 방식https://github.com/linux-nvme/nvme-cli/blob/master/nvme-builtin.h COMMAND_LIST( ENTRY("list", "List all NVMe devices and namespaces on machine", list) ENTRY("list-subsys", "List nvme subsystems", list_subsys) // ... (중략)); COMMAND_LIST와 ENTRY 매크로를 사용해서 명령어(command) 정의각 ENTRY는 명령어 이름, 설명, 그리고 실제로 실행될 함수명을 인자로 받음이 구조는 새로운 명령어를 추가할 때 ENTRY를 하나 더 추가하면 되도록 설계되.. -
CS [CS/책] 「오브젝트」6장 - 메시지와 인터페이스 책 「오브젝트」 6장 메시지와 인터페이스를 읽고 작성한 내용입니다.클래스라는 구현 도구에 지나치게 집착하면 경직되고 유연하지 못한 설계에 이를 확률이 높아진다.훌륭한 객체지향 코드를 얻기 위해서는 클래스가 아니라 객체를 지향해야 한다. 좀 더 정확하게 말해서 협력 안에서 객체가 수행하는 책임에 초점을 맞춰야 한다. 여기서 중요한 것은 책임이 객체가 수신할 수 있는 메시지의 기반이 된다는 것이다.애플리케이션은 클래스로 구성되지만 메시지를 통해 정의된다는 사실을 기억하라[Metz12].협력과 메시지클라이언트-서버 모델협력은 어떤 객체가 다른 객체에게 무언가를 요청할 때 시작된다[Wirfs-Brock03].협력 안에서 메시지를 전송하는 객체를 클라이언트, 메시지를 수신하는 객체를 서버라고 부른다. 협력은 클라..
-
CS [CS/책] 「오브젝트」5장 - 책임 할당하기 책 「오브젝트」 5장 책임 할당하기를 읽고 작성한 내용입니다. 데이터 중심 설계로 인해 발생하는 문제점을 해결할 수 있는 가장 기본적인 방법은 데이터가 아닌 책임에 초점을 맞추는 것이다. 책임에 초점을 맞춰서 설계할 때 직면하는 가장 큰 어려움은 어떤 객체에게 어떤 책임을 할당할지를 결정하기가 쉽지 않다는 것이다. 책임 할당 과정은 일종의 트레이드오프 활동이다. 동일한 문제를 해결할 수 있는 다양한 책임 할당 방법이 존재하며, 어떤 방법이 최선인지는 상황과 문맥에 따라 달라진다. 따라서 올바른 책임을 할당하기 위해서는 다양한 관점에서 설계를 평가할 수 있어야 한다. 실제 설계는 코드를 작성하는 동안 이뤄진다. 그리고 협력과 책임이 제대로 동작하는지 확인할 수 있는 유일한 방법은 코드를 작성하고 실행해 보..
-
CS [CS/책] 「오브젝트」4장 - 설계 품질과 트레이드오프 책 「오브젝트」 4장 설계 품질과 트레이드오프를 읽고 작성한 내용입니다. 객체지향 설계란 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동이다[Evers09]. 훌륭한 설계란 합리적인 비용 안에서 변경을 수용할 수 있는 구조를 만드는 것이다. 요즘 프로젝트를 진행하면서 설계는 매우 어렵다는 것을 깨닫고 있다. 4장을 읽으며 객체지향 설계를 데이터 중심으로 잘못하고 있다는 것을 한번 더 깨달았고, 의욕 넘치게 리팩토링을 시도해 보았으나.. 생각처럼 쉽지 않았다. 그래도 이번 기회에 문제라는 것을 상기하고 갈 수 있어서 좋았다. 데이터 중심 관점 객체의 상태는 구현에 속한다. 구현은 불안정하기 때문에 변하기 쉽다. 상태를 객체 분할의 중심축으로 삼으면 구현에 관..