본문 바로가기

Computer

(119)
영상처리 - 이진화와 오츄 알고리즘 (Otsu Algorithm) 이진화 명암 영상을 흑과 백으로만 이루어진 이진 영상으로 반환한다. T보다 크거나 같으면 1(백), 작으면 0(흑)으로 해서 흑백영상을 만든다. (이진화를 시킨다) 임계값 방법 두 봉우리 사이의 계곡을 임계값 T로 설정한다. 자연 영상에서는 계곡 지점의 결정이 어렵다. 위의 (b)그림은 임계값을 50으로 설정하여 구한 이진 영상이다. 근데 임계값 T는 어떻게 구해야 될까? 이론적으로 봤을 때 이진화에 따른 분류 에러를 최소화시켜주는 임계값을 optimal threshold라고 부른다. T가 optimal threshold 인지 아닌지를 알려면 어떤 픽셀이 물체이고, 어떤 픽셀이 배경인지를 알고 있어야 하는데, 이걸 미리 알고 있었다면 이미 최적의 이진화가 끝난 상태이므로 T를 구할 필요가 없다. 실제 입..
iOS - 2023년 최신 iOS 개발 동향과 업데이트 (feat. WWDC 2023) 2023년 iOS 앱 개발 동향과 최신 기술에 대해 관심을 가지고 알아보려고 한다. 지난 6월에는 WWDC 2023에서 Apple의 많은 기술과 업데이트, 그리고 신제품까지 공개되었다. 사실 나에게 첫 WWDC 관람이였는데 다시 한 번 Apple의 매력에 빠져버렸다. 아마 애플 생태계를 사랑하는 사람들과 함께 관전을 해서 더 특별하고 강조되었던 것 같다. 특히 9년 만에 발표된 Vision Pro는 아마 많은 분들이 예측하고 기대했을 것 같다. Vision Pro는 3D 환경에서 경험을 자유롭게 상상하며 둘러볼 수 있고 실험할 수 있다. 1. iOS 17 Apple은 매년 새로운 iOS를 발표한다. 올해 2023년에는 iOS 17이 업데이트 될 예정이다. WidgetKit을 통해 상호작용 기능 및 애니메..
영상처리 - 샘플링과 양자화 / 히스토그램의 정규화 평활화 역투영 영상처리 주어진 목적을 달성하기 위해 원래 영상을 새로운 영상으로 변환 컴퓨터 비전의 전처리 과정 샘플링과 양자화 2차원 영상 공간을 MxN으로 샘플링 (MxN을 해상도라고 부른다) 명암을 L단계로 양자화 (L을 명암 단계라고 한다. 즉, 명암은 0부터 L-1에 분포되어 있다. ) 위의 사진은 M이 12, N이 12, 그리고 명암 단계 L은 10인 경우이다. (c) 디지털 영상을 보면, 명암이 0부터 9까지 분포되어 있는 것을 볼 수 있다. 명암이 가장 높은 부분은 9이고 흰 배경은 0이다. 영상 좌표계 화소 위치는 x = (j, i) 또는 x = (y, x)로 표기한다. 영상은 f(x) 또는 f(j, i), 0
[git 사용법] Git이란? - Git 시작하기 'Git 사용법' 을 쓰게 된 이유 git과 github를 사용하면서 너무 어려웠다. 터미널에서 여러 명령어를 잘 입력하다가도 갑자기 오류가 발생하거나 아예 리파지토리가 날라가는 경우도 많았다. 협업을 하면서 git과 github에 대해 제대로 모르는 상태에서 사용하다보니 conflict 충돌도 많이 일어나 지옥의 반복이였다. branch도 수없이 만드는데 뭐가 뭔지 제대로 몰라 코드도 엉망인 경우도 많았다. 처음부터 다시 제대로 알고 사용하고자 이 글을 작성하게 되었다. Git이란? Git은 소스코드 및 파일의 변경내역을 저장하는 분산 버전 관리 시스템 github는 등록 사용자와 비등록 사용자 모두에게 사이트의 공개 저장소를 찾아볼 수 있는 권한을 제공 github는 보통 소스코드를 관리하는데 많이 ..
Baekjoon 백준 1922 네트워크 연결 문제풀이 kim_ghgh_ 2023. 7. 14. 22:45 📝 1922 문제 도현이는 컴퓨터와 컴퓨터를 모두 연결하는 네트워크를 구축하려 한다. 하지만 아쉽게도 허브가 있지 않아 컴퓨터와 컴퓨터를 직접 연결하여야 한다. 그런데 모두가 자료를 공유하기 위해서는 모든 컴퓨터가 연결이 되어 있어야 한다. (a와 b가 연결이 되어 있다는 말은 a에서 b로의 경로가 존재한다는 것을 의미한다. a에서 b를 연결하는 선이 있고, b와 c를 연결하는 선이 있으면 a와 c는 연결이 되어 있다.) 그런데 이왕이면 컴퓨터를 연결하는 비용을 최소로 하여야 컴퓨터를 연결하는 비용 외에 다른 곳에 돈을 더 쓸 수 있을 것이다. 이제 각 컴퓨터를 연결하는데 필요한 비용이 주어졌을 때 모든 컴퓨터를 연결하는데 필요한 최소비용을 출력하라. ..
iOS - MVC(Model-View-Controller) 패턴이란 무엇일까? iOS 개발에서는 여러 가지 디자인 패턴을 사용하여 앱을 관리하고 구조화한다. 그 중 가장 일반적이며 대표적으로 사용되는 MVC 패턴에 대해 알아보려고 한다. MVC (Model - View - Controller) MVC는 가장 기본적이고 일반적으로 사용되는 디자인 패턴이다. 앱의 구성을 세 가지 주요 구성 요소로 나누어 설계한다. Model : 앱의 데이터와 비즈니스 로직을 담당한다. View : 사용자 인터페이스를 표시하고 사용자의 입력을 처리한다. Controller : 모델과 뷰의 사이를 중재해준다. 사용자의 입력을 처리한다. Model 주로 struct와 class를 만든다. 앱이 가지는 데이터들을 담당한다. 예를 들어, 전화번호부이면 이름, 전화번호, 소속 등을 저장하고 이를 model에서 ..

728x90